import { Boards } from 'mixly';
import * as Blockly from 'blockly/core';

// Color
var yfrobotColor_output = '#59abe9'; //输出模块-执行器
var yfrobotColor_music = '#59abe9';  //音乐
var yfrobotColor_input = '#eb984e';  //输入模块-传感器
var yfrobotColor_input_GPS = '#d67f1d';  //输入模块-传感器 GPS
var yfrobotColor_sensor = '#f1c40f'; //传感器（I2C）
var yfrobotColor_sensor_apds = '#b7950b'; //传感器（I2C）- 手势
var yfrobotColor_sensor_mpu = '#b7950b'; //传感器（I2C）- mpu
var yfrobotColor_sensor_tof = '#b7950b'; //传感器（I2C）- tof
var yfrobotColor_dis = '#69dc6c';    //显示模块
var yfrobotColor_ps2 = '#4cd2d8';    //通信遥控
var yfrobotColor_time = '#e77380';   //时钟（DS3231/DS1307/PCF8563）
var yfrobotColor_car = '#b57cd6';    //电机驱动
var yfrobotColor_i2cioext = '#96c24e';    //I2C IO 扩展
var yfrobotColor_fpm = '#218380';    //指纹模块
var yfrobotColor_encoder = '#99a3a4';    //编码器测速

/********************************************
    OUTPUT - 输出模块
*********************************************/

var YF_OUTPUT_DIGITAL = [
    [Blockly.Msg.MIXLY_YF_LED_P, 'PiranhaLED'], [Blockly.Msg.MIXLY_YF_BUZZER, 'Buzzer'],
    [Blockly.Msg.MIXLY_YF_FAN, 'Fan'], [Blockly.Msg.MIXLY_YF_WATERPUMP, 'WaterPump'],
    [Blockly.Msg.MIXLY_YF_VIBRATION_MOTOR, 'VibrationMotor'], [Blockly.Msg.MIXLY_YF_RELAY, 'Relay']
];

// OUTPUT Digital 数字输出型模块：食人鱼LED、有源蜂鸣器Buzzer active、风扇、震动电机、继电器
export const yf_output_digital = {
    init: function () {
        this.setColour(yfrobotColor_output);
        this.appendDummyInput("")
            .appendField(new Blockly.FieldDropdown(YF_OUTPUT_DIGITAL), 'TYPE');
        this.appendValueInput("PIN", Number)
            .appendField(Blockly.Msg.MIXLY_PIN)
            .setCheck(Number);
        this.appendValueInput("STAT")
            .appendField(Blockly.Msg.MIXLY_STAT)
            .setCheck([Number, Boolean]);
        this.setPreviousStatement(true, null);
        this.setNextStatement(true, null);
        this.setInputsInline(true);
        this.setTooltip("控制数字输出型模块");
    }
};

var YF_OUTPUT_PWM = [
    [Blockly.Msg.MIXLY_YF_LED_P, 'PiranhaLED'], [Blockly.Msg.MIXLY_YF_FAN, 'Fan'],
    [Blockly.Msg.MIXLY_YF_VIBRATION_MOTOR, 'VibrationMotor'],
];

// OUTPUT PWM：食人鱼LED、风扇、震动电机
export const yf_output_pwm = {
    init: function () {
        this.setColour(yfrobotColor_output);
        this.appendDummyInput("")
            .appendField(new Blockly.FieldDropdown(YF_OUTPUT_PWM), 'TYPE');
        this.appendValueInput("PIN", Number)
            .appendField(Blockly.Msg.MIXLY_PIN)
            .setCheck(Number);
        this.appendValueInput("NUM", Number)
            .appendField(Blockly.Msg.MIXLY_VALUE2)
            .setCheck(Number);
        this.appendDummyInput("")
            .appendField("(0~255)");
        this.setPreviousStatement(true, null);
        this.setNextStatement(true, null);
        this.setInputsInline(true);
        this.setTooltip(Blockly.Msg.MIXLY_TOOLTIP_INOUT_ANALOG_WRITE);
    }
};

var YF_BUZZER_SPEAKER = [
    [Blockly.Msg.MIXLY_YF_BUZZER_P, 'buzzer'], [Blockly.Msg.MIXLY_YF_SPEAKER, 'speaker']
];

// Buzzer Passive / Speaker - 无源蜂鸣器 / 喇叭模块
export const yf_buzzer_speaker_frequency = {
    init: function () {
        this.setColour(yfrobotColor_output);
        this.appendDummyInput("")
            .appendField(new Blockly.FieldDropdown(YF_BUZZER_SPEAKER), 'TYPE');
        this.appendValueInput("PIN", Number)
            .appendField(Blockly.Msg.MIXLY_PIN)
            .setCheck(Number);
        this.appendValueInput('FREQUENCY')
            .setCheck(Number)
            .appendField(Blockly.Msg.MIXLY_FREQUENCY);
        this.setInputsInline(true);
        this.setPreviousStatement(true);
        this.setNextStatement(true);
    }
};

// Buzzer Passive / Speaker - 无源蜂鸣器 / 喇叭模块+持续时间
export const yf_buzzer_speaker_frequency_duration = {
    init: function () {
        this.setColour(yfrobotColor_output);
        this.appendDummyInput("")
            .appendField(new Blockly.FieldDropdown(YF_BUZZER_SPEAKER), 'TYPE');
        this.appendValueInput("PIN", Number)
            .appendField(Blockly.Msg.MIXLY_PIN)
            .setCheck(Number);
        this.appendValueInput('FREQUENCY')
            .setCheck(Number)
            .appendField(Blockly.Msg.MIXLY_FREQUENCY);
        this.appendValueInput('DURATION')
            .setCheck(Number)
            .appendField(Blockly.Msg.MIXLY_DURATION);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_DELAY_MS);
        this.setInputsInline(true);
        this.setPreviousStatement(true);
        this.setNextStatement(true);
    }
};

// Notone - 结束声音
export const yf_notone = {
    init: function () {
        this.setColour(yfrobotColor_output);
        this.appendValueInput("PIN", Number)
            .appendField(Blockly.Msg.MIXLY_NOTONE_PIN)
            .setCheck(Number);
        this.setInputsInline(true);
        this.setPreviousStatement(true);
        this.setNextStatement(true);
        this.setTooltip(Blockly.Msg.MIXLY_TOOLTIP_BLOCKGROUP_NOTONE);
    }
};

// traffic Signal - 红绿灯 交通信号指示灯
export const yf_trafficSignal = {
    init: function () {
        this.setColour(yfrobotColor_output);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_YFLEGO_TRAFFICSIGNALINIT + "")
            .appendField(new Blockly.FieldImage(require("../media/yf_trafficSignal.png"), 14, 24))
        this.appendValueInput("PIN1")
            .setCheck(Number)
            .setAlign(Blockly.ALIGN_RIGHT)
            .appendField("Pin1");
        this.appendValueInput("PIN2")
            .setCheck(Number)
            .setAlign(Blockly.ALIGN_RIGHT)
            .appendField("Pin2");
        this.appendDummyInput("")
            .appendField(new Blockly.FieldDropdown([
                [Blockly.Msg.MIXLY_YFLEGO_TRAFFICSIGNAL_RED, "RLED"],
                [Blockly.Msg.MIXLY_YFLEGO_TRAFFICSIGNAL_YELLOW, "YLED"],
                [Blockly.Msg.MIXLY_YFLEGO_TRAFFICSIGNAL_GREEN, "GLED"],
                [Blockly.Msg.MIXLY_YFLEGO_TRAFFICSIGNAL_OFF, "OFFLED"]
            ]), "WHAT");
        this.setInputsInline(true);
        this.setPreviousStatement(true, null);
        this.setNextStatement(true, null);
        this.setTooltip('');
    }
};

// OTP Fixed voice list
var YF_OTP_FIXED_VOICE_LIST = [
    ["老师", "0x00"], ["爸爸", "0x01"], ["妈妈", "0x02"], ["爷爷", "0x03"], ["奶奶", "0x04"], ["姥姥", "0x05"], ["姥爷", "0x06"], ["哥哥", "0x07"],
    ["姐姐", "0x08"], ["叔叔", "0x09"], ["阿姨", "0x0A"], ["上午", "0x0B"], ["下午", "0x0C"], ["晚上", "0x0D"], ["前方", "0x0E"], ["厘米", "0x0F"],
    ["新年快乐", "0x10"], ["身体健康", "0x11"], ["工作顺利", "0x12"], ["学习进步", "0x13"], ["您好", "0x14"], ["谢谢", "0x15"], ["的", "0x16"], ["祝", "0x17"],
    ["慢走", "0x18"], ["欢迎光临", "0x19"], ["亲爱的", "0x1A"], ["同学们", "0x1B"], ["工作辛苦了", "0x1C"], ["点", "0x1D"], ["打开", "0x1E"], ["关闭", "0x1F"],
    ["千", "0x20"], ["百", "0x21"], ["十/时", "0x22"], ["1", "0x23"], ["2", "0x24"], ["3", "0x25"], ["4", "0x26"], ["5", "0x27"],
    ["6", "0x28"], ["7", "0x29"], ["8", "0x2A"], ["9", "0x2B"], ["0", "0x2C"], ["当前", "0x2D"], ["转", "0x2E"], ["左", "0x2F"],
    ["右", "0x30"], ["请", "0x31"], ["已", "0x32"], ["现在", "0x33"], ["是", "0x34"], ["红灯", "0x35"], ["绿灯", "0x36"], ["黄灯", "0x37"],
    ["温度", "0x38"], ["湿度", "0x39"], ["欢迎常来", "0x3A"], ["还有", "0x3B"], ["秒", "0x3C"], ["分", "0x3D"], ["变", "0x3E"], ["等", "0x3F"],
    ["下一次", "0x40"], ["功能", "0x41"], ["障碍物", "0x42"], ["世界那么大，我想去看看", "0x43"],
];

// OTP 固定语音播报 语音列表
export const yf_otpVoiceBroadcast_list1 = {
    init: function () {
        this.setColour(yfrobotColor_output);
        this.appendDummyInput("")
            .setAlign(Blockly.ALIGN_RIGHT)
            .appendField(new Blockly.FieldDropdown(YF_OTP_FIXED_VOICE_LIST), "VAR");
        this.setInputsInline(true);
        this.setOutput(true, Number);
    }
};

// OTP Fixed voice list2
var YF_OTP_FIXED_VOICE_LIST2 = [
    ["今天", "0x44"], ["年", "0x45"], ["月", "0x46"], ["日", "0x47"],
    ["星期", "0x48"], ["农历", "0x49"], ["现在时刻", "0x4A"], ["北京时间", "0x4B"], ["整", "0x4C"], ["度", "0x4D"], ["百分之", "0x4E"], ["距离", "0x4F"],
    ["厘米", "0x50"], ["明天", "0x51"], ["天气", "0x52"], ["白天", "0x53"], ["夜间", "0x54"], ["晴", "0x55"], ["多云", "0x56"], ["阴", "0x57"],
    ["雨", "0x58"], ["雷阵", "0x59"], ["小", "0x5A"], ["中", "0x5B"], ["大", "0x5C"], ["夹", "0x5D"], ["雪", "0x5E"], ["雾", "0x5F"],
    ["霾", "0x60"], ["风", "0x61"], ["东", "0x62"], ["南", "0x63"], ["西", "0x64"], ["北", "0x65"], ["到", "0x66"], ["级", "0x67"],
    ["偏", "0x68"], ["方向", "0x69"], ["空气质量", "0x6A"], ["优", "0x6B"], ["良", "0x6C"], ["轻度污染", "0x6D"], ["中度污染", "0x6E"], ["重度污染", "0x6F"],
    ["上", "0x70"], ["下", "0x71"], ["接近", "0x72"], ["远离", "0x73"], ["灯", "0x74"], ["风扇", "0x75"], ["红色", "0x76"], ["绿色", "0x77"],
    ["蓝色", "0x78"], ["黄色", "0x79"], ["白色", "0x7A"], ["叮音效", "0x7B"], ["滴滴滴", "0x7C"], ["叮叮音效", "0x7D"], ["叮叮音效", "0x7E"],
];

// OTP 固定语音播报 语音列表
export const yf_otpVoiceBroadcast_list2 = {
    init: function () {
        this.setColour(yfrobotColor_output);
        this.appendDummyInput("")
            .setAlign(Blockly.ALIGN_RIGHT)
            .appendField(new Blockly.FieldDropdown(YF_OTP_FIXED_VOICE_LIST2), "VAR");
        this.setInputsInline(true);
        this.setOutput(true, Number);
    }
};

// OTP Fixed voice list2
var YF_OTP_FIXED_VOICE_MUTE_CODE = [["静音码（后接时长，单位10ms）", "0xF4"]];

// OTP 固定语音播报 静音码 后接数字表示时长 单位10ms
export const yf_otpVoiceBroadcast_muteCode = {
    init: function () {
        this.setColour(yfrobotColor_output);
        this.appendDummyInput("")
            .setAlign(Blockly.ALIGN_RIGHT)
            .appendField(new Blockly.FieldDropdown(YF_OTP_FIXED_VOICE_MUTE_CODE), "VAR");
        this.setInputsInline(true);
        this.setOutput(true, Number);
    }
};

// OTP 固定语音播报
export const yf_otpVoiceBroadcast_play = {
    init: function () {
        this.setColour(yfrobotColor_output);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_YFLEGO_OTPVOICEBROADCAST);
        this.appendValueInput("PLAYPIN")
            .setCheck(Number)
            .appendField(Blockly.Msg.MIXLY_PIN);
        this.appendValueInput("VOICENUMBER")
            .setCheck(Number)
            .appendField(Blockly.Msg.MIXLY_YFLEGO_OTPVOICEBROADCAST_PLAY);
        this.setInputsInline(true);
        this.setPreviousStatement(true, null);
        this.setNextStatement(true, null);
        this.setTooltip('');
    }
};

// OTP Fixed voice broadcast function
var YF_OTP_FIXED_VOICE_FUN = [
    ["设置音量0", "0xE0"], ["设置音量1", "0xE1"], ["设置音量2", "0xE2"], ["设置音量3", "0xE3"],
    ["设置音量4", "0xE4"], ["设置音量5", "0xE5"], ["设置音量6", "0xE6"], ["设置音量7", "0xE7"],
    ["循环播放", "0xF2"], ["停止播放", "0xFE"],
];

// OTP 固定语音播报 功能设置 - 音量、播放循环停止
export const yf_otpVoiceBroadcast_set = {
    init: function () {
        this.setColour(yfrobotColor_output);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_YFLEGO_OTPVOICEBROADCAST);
        this.appendValueInput("PLAYPIN")
            .setCheck(Number)
            .appendField(Blockly.Msg.MIXLY_PIN);
        this.appendDummyInput("")
            .setAlign(Blockly.ALIGN_RIGHT)
            .appendField(new Blockly.FieldDropdown(YF_OTP_FIXED_VOICE_FUN), "VAR");
        this.setInputsInline(true);
        this.setPreviousStatement(true, null);
        this.setNextStatement(true, null);
        this.setTooltip('');
    }
};

// OTP 固定语音播报 连码播放
export const yf_otpVoiceBroadcast_cplay = {
    init: function () {
        this.setColour(yfrobotColor_output);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_YFLEGO_OTPVOICEBROADCAST);
        this.appendValueInput("PLAYPIN")
            .setCheck(Number)
            .appendField(Blockly.Msg.MIXLY_PIN);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_YFLEGO_OTPVOICEBROADCAST_C_PLAY);
        this.appendDummyInput("")
            .appendField(new Blockly.FieldTextInput("mylist"), 'VAR')
        this.appendDummyInput("")
            .appendField("[  ]")
        this.setInputsInline(true);
        this.setPreviousStatement(true, null);
        this.setNextStatement(true, null);
        this.setTooltip('详情请见手册。');
    }
};

//MP3音频播放模块 可存储MP3音频文件并实现播放等功能

//MP3音频播放模块 function
var YF_MP3_AUDIO_PLAY_FUN_WITH_NUMBER = [
    [Blockly.Msg.MIXLY_YF_MP3_AUDIO_PLAY_SELECT_PLAY, "0x0B"], [Blockly.Msg.MIXLY_YF_MP3_AUDIO_PLAY_SET_VOLUME, "0x0C"], [Blockly.Msg.MIXLY_YF_MP3_AUDIO_PLAY_SET_EQ_MODE, "0x0D"],
    [Blockly.Msg.MIXLY_YF_MP3_AUDIO_PLAY_SET_PLAY_MODE, "0x0E"], [Blockly.Msg.MIXLY_YF_MP3_AUDIO_PLAY_SET_INSERT_TRACK, "0x10"],
];

//MP3音频播放模块 获取功能函数
export const yf_mp3AudioPlayModuleGetFunWithNumber = {
    init: function () {
        this.setColour(yfrobotColor_output);
        this.appendDummyInput("")
            .setAlign(Blockly.ALIGN_RIGHT)
            .appendField(new Blockly.FieldDropdown(YF_MP3_AUDIO_PLAY_FUN_WITH_NUMBER), "VAR");
        this.setInputsInline(true);
        this.setOutput(true, Number);
    }
};

//MP3音频播放模块 配合数字功能 - 选曲播放/插播，设置音量（0~30），设置EQ模式（0~4），播放模式（0~7）
export const yf_mp3AudioPlayModuleSetFunWithNum = {
    init: function () {
        this.setColour(yfrobotColor_output);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_YFLEGO_MP3AUDIOPLAY);
        this.appendValueInput("PLAYPIN")
            .setCheck(Number)
            .appendField(Blockly.Msg.MIXLY_PIN);
        this.appendValueInput("VAR")
            .setCheck(Number);
        this.appendValueInput("NUMBER")
            .setCheck(Number);
        this.setInputsInline(true);
        this.setPreviousStatement(true, null);
        this.setNextStatement(true, null);
        this.setTooltip('配合数字MP3功能实现，音量（0~30），EQ（0~4），播放模式（0~7）；详情请见手册。');
    }
};

//MP3音频播放模块 function
var YF_MP3_AUDIO_PLAY_FUN = [
    [Blockly.Msg.MIXLY_YF_MP3_AUDIO_PLAY_PLAY, "0x11"], [Blockly.Msg.MIXLY_YF_MP3_AUDIO_PLAY_PAUSE, "0x12"], [Blockly.Msg.MIXLY_YF_MP3_AUDIO_PLAY_STOP, "0x13"],
    [Blockly.Msg.MIXLY_YF_MP3_AUDIO_PLAY_PREVIOUS_TRACK, "0x14"], [Blockly.Msg.MIXLY_YF_MP3_AUDIO_PLAY_NEXT_TRACK, "0x15"],
    [Blockly.Msg.MIXLY_YF_MP3_AUDIO_PLAY_PREVIOUS_CONTENTS, "0x16"], [Blockly.Msg.MIXLY_YF_MP3_AUDIO_PLAY_NEXT_CONTENTS, "0x17"],
    [Blockly.Msg.MIXLY_YF_MP3_AUDIO_PLAY_REMOVE_NUMBER, "0x0A"], [Blockly.Msg.MIXLY_YF_MP3_AUDIO_PLAY_STOP_INSERT_TRACK, "0x1C"], [Blockly.Msg.MIXLY_YF_MP3_AUDIO_PLAY_SYSTEM_SLEEP, "0x1B"],
];

//MP3音频播放模块 获取功能函数
export const yf_mp3AudioPlayModuleGetFun = {
    init: function () {
        this.setColour(yfrobotColor_output);
        this.appendDummyInput("")
            .setAlign(Blockly.ALIGN_RIGHT)
            .appendField(new Blockly.FieldDropdown(YF_MP3_AUDIO_PLAY_FUN), "VAR");
        this.setInputsInline(true);
        this.setOutput(true, Number);
    }
};

//MP3音频播放模块 - 播放，暂停，停止，上一曲，下一曲，上一目录，下一目录，清除已发送数字，停止插播, 系统睡眠
export const yf_mp3AudioPlayModuleSetFun = {
    init: function () {
        this.setColour(yfrobotColor_output);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_YFLEGO_MP3AUDIOPLAY);
        this.appendValueInput("PLAYPIN")
            .setCheck(Number)
            .appendField(Blockly.Msg.MIXLY_PIN);
        this.appendValueInput("VAR")
            .setCheck(Number);
        this.setInputsInline(true);
        this.setPreviousStatement(true, null);
        this.setNextStatement(true, null);
        this.setTooltip('MP3功能实现；详情请见手册。');
    }
}

//录放模块 voice Recorder Module function
var YF_VOICE_RECORDER_MODULE_FUN = [
    [Blockly.Msg.MIXLY_YF_VOICE_RECORDER_MODULE_PLAY_ONCE, "1"], [Blockly.Msg.MIXLY_YF_VOICE_RECORDER_MODULE_PLAY_LOOP, "2"],
    [Blockly.Msg.MIXLY_YF_VOICE_RECORDER_MODULE_ENABLE_SPEAKER, "3"], [Blockly.Msg.MIXLY_YF_VOICE_RECORDER_MODULE_DISABLE_SPEAKER, "4"],
];

//录放模块 - 播放一次录音，循环播放录音（断电停止）；使能/禁用 喇叭
export const yf_voiceRecorderModuleSetFun = {
    init: function () {
        this.setColour(yfrobotColor_output);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_YFLEGO_VOICE_RECORDER_MODULE);
        this.appendValueInput("PLAYPIN")
            .setCheck(Number)
            .appendField(Blockly.Msg.MIXLY_PIN);
        this.appendDummyInput("")
            .setAlign(Blockly.ALIGN_RIGHT)
            .appendField(new Blockly.FieldDropdown(YF_VOICE_RECORDER_MODULE_FUN), "VAR");
        this.setInputsInline(true);
        this.setPreviousStatement(true, null);
        this.setNextStatement(true, null);
        this.setTooltip('录放模块功能实现；详情请见手册。');
    }
}

//语音合成模块TTS - 初始化
export const yf_voiceTTSModuleBegin = {
    init: function () {
        this.setColour(yfrobotColor_output);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_YFLEGO_TTS_MODULE)
            .appendField(Blockly.Msg.MIXLY_YFLEGO_TTS_INIT);
        this.appendValueInput("TTSRXPIN")
            .setCheck(Number)
            .appendField("-R-");
        this.appendValueInput("TTSTXPIN")
            .setCheck(Number)
            .appendField("TX:");
        this.setInputsInline(true);
        this.setPreviousStatement(true, null);
        this.setNextStatement(true, null);
        this.setTooltip('语音合成模块；详情请见手册。');
    }
}

//语音合成模块TTS
var YF_TTS_MODULE_PARAMETER_PRONOUNCER = [
    [Blockly.Msg.MIXLY_YFLEGO_TTS_PARAMETER_PRONOUNCER_0, "0"],
    [Blockly.Msg.MIXLY_YFLEGO_TTS_PARAMETER_PRONOUNCER_1, "1"],
];

var YF_TTS_MODULE_PARAMETER_VOLUME = [
    ["0", "0"], ["1", "1"], ["2", "2"], ["3", "3"],
    ["4", "4"],["5", "5"], ["6", "6"],
];
var YF_TTS_MODULE_PARAMETER_OTHER = [
    ["0", "0"], ["1", "1"], ["2", "2"], ["3", "3"], ["4", "4"],
    ["5", "5"], ["6", "6"], ["7", "7"], ["8", "8"], ["9", "9"],
];

//语音合成模块TTS - 设置参数
export const yf_voiceTTSModuleSet = {
    init: function () {
        this.setColour(yfrobotColor_output);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_YFLEGO_TTS_MODULE)
            .appendField(Blockly.Msg.MIXLY_YFLEGO_TTS_SET)
            .appendField(Blockly.Msg.MIXLY_YFLEGO_TTS_PRONOUNCER);
        this.appendDummyInput("")
            .setAlign(Blockly.ALIGN_RIGHT)
            .appendField(new Blockly.FieldDropdown(YF_TTS_MODULE_PARAMETER_PRONOUNCER), "PRONOUNCER")
            .appendField(Blockly.Msg.MIXLY_YFLEGO_TTS_SPEECH_RATE);
        this.appendDummyInput("")
            .setAlign(Blockly.ALIGN_RIGHT)
            .appendField(new Blockly.FieldDropdown(YF_TTS_MODULE_PARAMETER_OTHER), "SPEECH_RATE")
            .appendField(Blockly.Msg.MIXLY_YFLEGO_TTS_TONE);
        this.appendDummyInput("")
            .setAlign(Blockly.ALIGN_RIGHT)
            .appendField(new Blockly.FieldDropdown(YF_TTS_MODULE_PARAMETER_OTHER), "TONE")
            .appendField(Blockly.Msg.MIXLY_YFLEGO_TTS_VOLUME);
        this.appendDummyInput("")
            .setAlign(Blockly.ALIGN_RIGHT)
            .appendField(new Blockly.FieldDropdown(YF_TTS_MODULE_PARAMETER_VOLUME), "VOLUME");
        // 设置字段的默认值
        this.setFieldValue("0", "PRONOUNCER");
        this.setFieldValue("5", "SPEECH_RATE");
        this.setFieldValue("5", "TONE");
        this.setFieldValue("1", "VOLUME");
        this.setInputsInline(true);
        this.setPreviousStatement(true, null);
        this.setNextStatement(true, null);
        this.setTooltip('语音合成模块；详情请见手册。');
    }
}

//语音合成模块TTS - 播放输入字符
export const yf_voiceTTSModulePlay = {
    init: function () {
        this.setColour(yfrobotColor_output);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_YFLEGO_TTS_MODULE)
            .appendField(Blockly.Msg.MIXLY_YFLEGO_TTS_PLAY);        
        this.appendValueInput("INPUTSTR", String)
            .setCheck([Number, String]);
        this.setInputsInline(true);
        this.setPreviousStatement(true, null);
        this.setNextStatement(true, null);
        this.setTooltip('语音合成模块，支持字符串及变量；详情请见手册。');
    }
}

var YF_TTS_MODULE_PARAMETER_RING = [
    ["ring_1", "ring_1"], ["ring_2", "ring_2"], ["ring_3", "ring_3"], ["ring_4", "ring_4"], ["ring_5", "ring_5"],
    ["message_1", "message_1"], ["message_2", "message_2"], ["message_3", "message_3"], ["message_4", "message_4"], ["message_5", "message_5"],
    ["alert_1", "alert_1"], ["alert_2", "alert_2"], ["alert_3", "alert_3"], ["alert_4", "alert_4"], ["alert_5", "alert_5"],
];

//语音合成模块TTS - 播放铃声
export const yf_voiceTTSModulePlayRing = {
    init: function () {
        this.setColour(yfrobotColor_output);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_YFLEGO_TTS_MODULE)
            .appendField(Blockly.Msg.MIXLY_YFLEGO_TTS_PLAYRING);
        this.appendDummyInput("")
            .setAlign(Blockly.ALIGN_RIGHT)
            .appendField(new Blockly.FieldDropdown(YF_TTS_MODULE_PARAMETER_RING), "RING");
        this.setInputsInline(true);
        this.setPreviousStatement(true, null);
        this.setNextStatement(true, null);
        this.setTooltip('语音合成模块；详情请见手册。');
    }
}



/********************MUSIC - 音乐*******************/
// Music- 音调 频率
export const yf_tone_list = {
    init: function () {
        this.setColour(yfrobotColor_music);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_YF_PLAYMUSIC_SET_MELODY)
            .appendField(new Blockly.FieldDropdown([
                ["C", "C"], ["#C", "#C"], ["D", "D"], ["#D", "#D"],
                ["E", "E"], ["F", "F"], ["#F", "#F"], ["G", "G"],
                ["#G", "#G"], ["A", "A"], ["#A", "#A"], ["B", "B"]
            ]), "TONE")
            .appendField(new Blockly.FieldTextInput('mylist'), 'VAR')
        this.setNextStatement(true);
        this.setTooltip(Blockly.Msg.MIXLY_TOOLTIP_LISTS_CREATE_WITH_TEXT);
    }
};

//Music - 设置音符
export const yf_set_musiclist = {
    init: function () {
        this.setColour(yfrobotColor_music);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_YF_PLAYMUSIC_SET_TONE)
            .appendField(new Blockly.FieldTextInput('mylist'), 'VAR')
            .appendField('[')
            // .appendField(new Blockly.FieldTextInput('3', Blockly.FieldTextInput.math_number_validator), 'SIZE')
            .appendField(']')
            .appendField(new Blockly.FieldTextInput('0,0,0'), 'TEXT')
        this.setPreviousStatement(true);
        this.setNextStatement(true);
        this.setTooltip(Blockly.Msg.MIXLY_TOOLTIP_LISTS_CREATE_WITH_TEXT);
    }
};

//Music - 设置音高
export const yf_set_highlist = {
    init: function () {
        this.setColour(yfrobotColor_music);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_YF_PLAYMUSIC_SET_PITCH)
            .appendField(new Blockly.FieldTextInput('mylist'), 'VAR')
            .appendField('[')
            // .appendField(new Blockly.FieldTextInput('3', Blockly.FieldTextInput.math_number_validator), 'SIZE')
            .appendField(']')
            .appendField(new Blockly.FieldTextInput('0,0,0'), 'TEXT')
        this.setPreviousStatement(true);
        this.setNextStatement(true);
        this.setTooltip(Blockly.Msg.MIXLY_TOOLTIP_LISTS_CREATE_WITH_TEXT);
    }
};

//Music - 设置时值
export const yf_set_rhythmlist = {
    init: function () {
        this.setColour(yfrobotColor_music);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_YF_PLAYMUSIC_SET_RHYTHM)
            .appendField(new Blockly.FieldTextInput('mylist'), 'VAR')
            .appendField('[')
            // .appendField(new Blockly.FieldTextInput('3', Blockly.FieldTextInput.math_number_validator), 'SIZE')
            .appendField(']')
            .appendField(new Blockly.FieldTextInput('0,0,0'), 'TEXT')
        this.setPreviousStatement(true);
        this.setNextStatement(true);
        this.setTooltip(Blockly.Msg.MIXLY_TOOLTIP_LISTS_CREATE_WITH_TEXT);
    }
};

//Music - 设置每拍时长
export const yf_set_tone_duration = {
    init: function () {
        this.setColour(yfrobotColor_music);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_YF_PLAYMUSIC_SET_DUR)
            .appendField(new Blockly.FieldTextInput('varName'), 'VAR')
            .appendField("为")
            .appendField(new Blockly.FieldTextInput('500'), 'NUMBER')
            .appendField(Blockly.Msg.MIXLY_MILLIS);
        this.setPreviousStatement(true);
        this.setNextStatement(true);
        this.setTooltip(Blockly.Msg.MIXLY_TOOLTIP_LISTS_CREATE_WITH_TEXT);
    }
};

/********************************************
    INPUT - 输入模块
*********************************************/
var YF_INTPUT_DIGITAL = [
    [Blockly.Msg.MIXLY_YF_BTN, 'button'], [Blockly.Msg.MIXLY_YF_MAGNETIC, 'magnetic'],
    [Blockly.Msg.MIXLY_YF_TILT, 'tilt'], [Blockly.Msg.MIXLY_YF_IRFAR, 'irfar'],
    [Blockly.Msg.MIXLY_YF_VIBRATION, 'vibration'], [Blockly.Msg.MIXLY_YF_PYROELECTRIC_INFRARED, 'pyr_infrared'],
    [Blockly.Msg.MIXLY_YF_TOUCH, 'touch'], [Blockly.Msg.MIXLY_YF_COLLISION, 'collision'],
    [Blockly.Msg.MIXLY_YF_PATROL_IR1, 'patrol_ir1'], [Blockly.Msg.MIXLY_YF_PATROL_IR2, 'patrol_ir2'],
    [Blockly.Msg.MIXLY_YF_ROTARY_ENCODER_A, 'rotary_a'], [Blockly.Msg.MIXLY_YF_ROTARY_ENCODER_B, 'rotary_b'],
    [Blockly.Msg.MIXLY_YF_PATROL_SINGLED, 'patrol_single'], [Blockly.Msg.MIXLY_YF_LIQUIDLEVEL, 'LiquidLevel'],
    [Blockly.Msg.MIXLY_YF_LEDBTN_LATCHING, 'Latching_LED_Button'], [Blockly.Msg.MIXLY_YF_LEDBTN_MOMENTARY, 'Momentary_LED_Button'],
];

/* INPUT DIGITAL - 数字输入型模块：
    按钮模块、磁控开关、角度传感器、红外感应器、震动传感器、
    热释电传感器、触摸传感器、碰撞检测开关、寻迹模块、旋转编码器、寻迹模块-单路（黑板）、
    非接触液位传感器、带灯锁存按键、带灯点动按键
*/
export const yf_input_digital = {
    init: function () {
        this.setColour(yfrobotColor_input);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_YF_DIGITAL)
            .appendField(new Blockly.FieldDropdown(YF_INTPUT_DIGITAL), 'TYPE');
        this.appendValueInput("PIN", Number)
            .appendField(Blockly.Msg.MIXLY_PIN)
            .setCheck(Number);
        this.setOutput(true, Boolean);
        this.setInputsInline(true);
        this.setTooltip('读取数字型模块，返回值：0或1。');
    }
};

var YF_INTPUT_ANALOG = [
    [Blockly.Msg.MIXLY_YF_POTENTIOMETER, 'potentiometer'], [Blockly.Msg.MIXLY_YF_LIGHT, 'light'],
    [Blockly.Msg.MIXLY_YF_SOUND, 'sound'], [Blockly.Msg.MIXLY_YF_MOISTURE_A, 'moisture_a'],
    [Blockly.Msg.MIXLY_YF_JOYSTICK_X, 'joystick_x'], [Blockly.Msg.MIXLY_YF_JOYSTICK_Y, 'joystick_y'],
    [Blockly.Msg.MIXLY_YF_MQ, 'mq sensor'], [Blockly.Msg.MIXLY_YF_GRAY, 'gray sensor'],
    [Blockly.Msg.MIXLY_YF_MOISTURE, 'moisture sensor'], [Blockly.Msg.MIXLY_YF_FLAME, 'flame sensor'],
    [Blockly.Msg.MIXLY_YF_PRESSURE, 'pressure sensor'],
];

/* INPUT ANALOG - 模拟输入型模块：
    电位器模块、环境光传感器、声音传感器、土壤湿度检测、摇杆XY轴、
    MQ气体传感器、灰度传感器、水分传感器、火焰传感器、压力传感器
*/
export const yf_input_analog = {
    init: function () {
        this.setColour(yfrobotColor_input);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_YF_ANALOG)
            .appendField(new Blockly.FieldDropdown(YF_INTPUT_ANALOG), 'TYPE');
        this.appendValueInput("PIN", Number)
            .appendField(Blockly.Msg.MIXLY_PIN)
            .setCheck(Number);
        this.setOutput(true, Number);
        this.setInputsInline(true);
        this.setTooltip('读取模拟型模块，返回值：0~1023。');
    }
};

// Temperature-lm35 - 温度-lm35
export const yf_temperature = {
    init: function () {
        this.setColour(yfrobotColor_input);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_YF_TEMPERATURE)
            .appendField(new Blockly.FieldImage(require("../media/yf_lm35.png"), 12, 24))
        this.appendValueInput("PIN", Number)
            .appendField(Blockly.Msg.MIXLY_PIN)
            .setCheck(Number);
        this.setInputsInline(true);
        this.setOutput(true, Number);
        this.setTooltip('返回温度值，单位℃，测温范围：0~100℃。');
    }
};

//DHT11-22 - 温湿度传感器
export const yf_dht = {
    init: function () {
        var WHAT = [[Blockly.Msg.MIXLY_GETTEMPERATUE, 'Temperature'], [Blockly.Msg.MIXLY_GETHUMIDITY, 'Humidity']];
        var YF_DHT_IMG = [
            [{ 'src': require('../media/yf_dht11.png'), 'width': 38, 'height': 24, 'alt': 'DHT11' }, '11'],
            [{ 'src': require('../media/yf_dht22.png'), 'width': 41, 'height': 24, 'alt': 'DHT22' }, '22']
        ];
        this.setColour(yfrobotColor_input);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_YF_TEMPERATURE_HUMIDITY)
            .appendField(new Blockly.FieldImage(require("../media/yf_dht.png"), 18, 24))
            .appendField(new Blockly.FieldDropdown(YF_DHT_IMG), 'TYPE')
            .appendField(Blockly.Msg.MIXLY_PIN)
            .appendField(new Blockly.FieldDropdown(window.profile.default.digital), "PIN")
            .appendField(" ")
            .appendField(new Blockly.FieldDropdown(WHAT), "WHAT");
        this.setOutput(true, Number);
        this.setInputsInline(true);
        var thisBlock = this;
        this.setTooltip(function () {
            var op = thisBlock.getFieldValue('WHAT');
            var TOOLTIPS = {
                'temperature': Blockly.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,
                'humidity': Blockly.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM
            };
            return TOOLTIPS[op];
        });
        this.setFieldValue("4", "PIN");
    }
};

// Ultrasonic 超声波 SR04
export const yf_ultrasonic_04 = {
    init: function () {
        this.setColour(yfrobotColor_input);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_CHAOSHENGBO)
            .appendField(new Blockly.FieldImage(require("../media/yf_ultrasonic_04-2.png"), 50, 24));
        this.appendValueInput("PINT", Number)
            .appendField('Trig#')
            .setCheck(Number);
        this.appendValueInput("PINE", Number)
            .appendField('Echo#')
            .setCheck(Number);
        this.setInputsInline(true);
        this.setOutput(true, Number);
        this.setTooltip(Blockly.Msg.MIXLY_TOOLTIP_BLOCKGROUP_CHAOSHENGBO);
    }
};

// VC 离线语音识别模块 串口波特率
var YF_VC_BAUD = [
    ['9600', '9600'], ['115200', '115200']
];

// VC 离线语音识别模块 硬件串口
export const yf_vcSpeechRecognition_Hardware = {
    init: function () {
        var board_type = Boards.getType();
        if (board_type == "arduino_esp32" || board_type == "arduino_esp32s3" || board_type == "arduino_esp32c3") {
            this.setColour(yfrobotColor_input);
            this.appendDummyInput("")
                .appendField(Blockly.Msg.MIXLY_YF_VC02)
                .appendField(new Blockly.FieldImage(require("../media/yf_vc.png"), 24, 24))
                .appendField(Blockly.Msg.MIXLY_YF_VC02_H)
                .appendField(new Blockly.FieldDropdown(window.profile.default.serial_HardwareSelect), "serial_select")
            this.appendDummyInput("")
                .appendField(Blockly.Msg.MIXLY_YF_VC02_BAUD)
                .appendField(new Blockly.FieldDropdown(YF_VC_BAUD), 'BAUD');
            this.appendDummyInput("")
                .appendField(Blockly.Msg.MIXLY_YF_VC02_DATA);
            this.setInputsInline(true);
            this.setOutput(true, Number);
            this.setTooltip(Blockly.Msg.MIXLY_YFTIP_VC02_HARDWARE);
        } else {
            this.setColour(yfrobotColor_input);
            this.appendDummyInput("")
                .appendField(Blockly.Msg.MIXLY_YF_VC02)
                .appendField(new Blockly.FieldImage(require("../media/yf_vc.png"), 24, 24))
                .appendField(Blockly.Msg.MIXLY_YF_VC02_H)
                .appendField(new Blockly.FieldDropdown(window.profile.default.serial_select), "serial_select")
            this.appendDummyInput("")
                .appendField(Blockly.Msg.MIXLY_YF_VC02_BAUD)
                .appendField(new Blockly.FieldDropdown(YF_VC_BAUD), 'BAUD');
            this.appendDummyInput("")
                .appendField(Blockly.Msg.MIXLY_YF_VC02_DATA);
            this.setInputsInline(true);
            this.setOutput(true, Number);
            this.setTooltip(Blockly.Msg.MIXLY_YFTIP_VC02_HARDWARE);
        }
    }
};

// VC 离线语音识别模块 软件串口
export const yf_vcSpeechRecognition_Software = {
    init: function () {
        this.setColour(yfrobotColor_input);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_YF_VC02)
            .appendField(new Blockly.FieldImage(require("../media/yf_vc.png"), 24, 24))
            .appendField(Blockly.Msg.MIXLY_YF_VC02_S);
        this.appendValueInput("PINRX", Number)
            .appendField('RX')
            .setCheck(Number);
        this.appendValueInput("PINTX", Number)
            .appendField('TX')
            .setCheck(Number);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_YF_VC02_BAUD)
            .appendField(new Blockly.FieldDropdown(YF_VC_BAUD), 'BAUD');
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_YF_VC02_DATA);
        this.setInputsInline(true);
        this.setOutput(true, Number);
        this.setTooltip(Blockly.Msg.MIXLY_YFTIP_VC02_SOFTWARE);
    }
};

var YF_INTPUT_DIGITAL_BLUE = [
    [Blockly.Msg.MIXLY_YF_BLUE_PHOTO, 'photo'], [Blockly.Msg.MIXLY_YF_BLUE_SOUND, 'sound'],
    [Blockly.Msg.MIXLY_YF_BLUE_FLAME, 'flame'], [Blockly.Msg.MIXLY_YF_BLUE_HALL, 'hall'],
    [Blockly.Msg.MIXLY_YF_BLUE_TCRT5000, 'tcrt5000'], [Blockly.Msg.MIXLY_YF_BLUE_MOISTURE_D, 'moisture'],
    [Blockly.Msg.MIXLY_YF_BLUE_U, 'u'], [Blockly.Msg.MIXLY_YF_BLUE_JOYSTICK_D, 'joystick_d'],
    [Blockly.Msg.MIXLY_YF_BLUE_MQ135, 'mq135'],
    [{ 'src': require('../media/old/yf_irp.png'), 'width': 60, 'height': 20, 'alt': 'yf_irp' }, 'irp'],
];

/* OLD VERSION BLUE BOARD - INPUT DIGITAL - 蓝板 数字输入型模块：
    光敏传感器、声音传感器、火焰传感器、霍尔传感器、TCRT5000传感器、
    土壤湿度数字型传感器、U型光电开关、摇杆按钮、空气质量、红外接近开关
*/
export const yf_input_digital_blue_board = {
    init: function () {
        this.setColour(yfrobotColor_input);
        this.appendDummyInput("")
            .appendField("蓝板-")
            .appendField(new Blockly.FieldDropdown(YF_INTPUT_DIGITAL_BLUE), 'TYPE');
        this.appendValueInput("PIN", Number)
            .appendField(Blockly.Msg.MIXLY_PIN)
            .setCheck(Number);
        this.setOutput(true, Boolean);
        this.setInputsInline(true);
        this.setTooltip('读取数字型模块（蓝板旧版），返回值：0或1。');
    }
};

// 5路循迹传感器 QTR-5RC 初始化
export const yf_qtr_5rc_init = {
    init: function () {
        this.setColour(yfrobotColor_input);
        this.appendDummyInput("")
            .appendField("QTR-5RC初始化");
        // .appendField(new Blockly.FieldImage(require("../media/yf_ultrasonic_04.png"), 70, 32))
        // .appendField(" ")
        // .appendField(new Blockly.FieldTextInput('qtr'), 'VAR');
        this.appendValueInput("PINIR1", Number)
            // .appendField('IR1')
            .setCheck(Number);
        this.appendValueInput("PINIR2", Number)
            // .appendField('IR2')
            .setCheck(Number);
        this.appendValueInput("PINIR3", Number)
            // .appendField('IR3')
            .setCheck(Number);
        this.appendValueInput("PINIR4", Number)
            // .appendField('IR4')
            .setCheck(Number);
        this.appendValueInput("PINIR5", Number)
            // .appendField('IR5')
            .setCheck(Number);
        this.appendValueInput("PINEN", Number)
            .appendField(',使能引脚')
            .setCheck(Number);
        this.setPreviousStatement(true);
        this.setNextStatement(true);
        this.setInputsInline(true);
        this.setTooltip("5路循迹QTR-5RC模块初始化");
    }, getVars: function () {
        return [this.getFieldValue('VAR')];
    }, renameVar: function (oldName, newName) {
        if (Blockly.Names.equals(oldName, this.getFieldValue('VAR'))) {
            this.setTitleValue(newName, 'VAR');
        }
    }
};

// 5路循迹传感器 QTR-5RC 巡线值
var YF_LINE_FOLLOW_QTR5RC = [
    ['①', '0'], ['②', '1'], ['③', '2'], ['④', '3'], ['⑤', '4']
];

// 5路循迹传感器 QTR-5RC 校准
export const yf_qtr_5rc_calibrate = {
    init: function () {
        this.setColour(yfrobotColor_input);
        this.appendDummyInput("")
            .appendField("QTR-5RC校准");
        // .appendField(new Blockly.FieldImage(require("../media/yf_ultrasonic_04.png"), 70, 32))
        // .appendField(" ")
        // .appendField(new Blockly.FieldTextInput('qtr'), 'VAR');
        this.setPreviousStatement(true);
        this.setNextStatement(true);
        this.setInputsInline(true);
        this.setTooltip("循迹QTR-5RC校准：将每路传感器分别置于最亮和最暗的环境中");
    }
};

// 5路循迹传感器 QTR-5RC 读取传感器
export const yf_qtr_5rc_readLineBlack = {
    init: function () {
        this.setColour(yfrobotColor_input);
        this.appendDummyInput("")
            .appendField("QTR-5RC读取传感器并存储值到");
        // .appendField(new Blockly.FieldImage(require("../media/yf_ultrasonic_04.png"), 70, 32))
        // .appendField(" ")
        // .appendField(new Blockly.FieldTextInput('qtr'), 'VAR');
        this.appendDummyInput("")
            .appendField(" ")
            .appendField(new Blockly.FieldTextInput('sensorValues'), 'VARVALUE');
        this.setInputsInline(true);
        this.setOutput(true, Number);
        this.setTooltip("QTR-5RC，校准后使用，返回总位置值；0~4000位置范围。");
    }
};

// 获取读取到的传感器值
export const yf_qtr_5rc_getValue = {
    init: function () {
        this.setColour(yfrobotColor_input);
        this.appendDummyInput("")
        // .appendField("循迹QTR-5RC读取传感器");
        // .appendField(new Blockly.FieldImage(require("../media/yf_ultrasonic_04.png"), 70, 32))
        // .appendField(" ")
        // .appendField(new Blockly.FieldTextInput('qtr'), 'VAR');
        this.appendDummyInput("")
            .appendField(" ")
            .appendField(new Blockly.FieldTextInput('sensorValues'), 'VARVALUE');
        this.appendDummyInput("")
            .appendField(new Blockly.FieldDropdown(YF_LINE_FOLLOW_QTR5RC), 'CHANNEL');
        this.setInputsInline(true);
        this.setOutput(true, Number);
        this.setTooltip("sensorValues[5]，校准后使用;每路传感器值，0-最大反射率，1000-最小反射率。");
    }
};

// 5路循迹传感器 QTR-5RC 读取传感器(无需校准，读原始传感器值)
export const yf_qtr_5rc_readWithoutCalibrate = {
    init: function () {
        this.setColour(yfrobotColor_input);
        this.appendDummyInput("")
            .appendField("QTR-5RC读取传感器原始值（0~2500）");
        // .appendField(new Blockly.FieldImage(require("../media/yf_ultrasonic_04.png"), 70, 32))
        // .appendField(" ")
        // .appendField(new Blockly.FieldTextInput('qtr'), 'VAR');
        this.appendDummyInput("")
            .appendField(" ")
            .appendField(new Blockly.FieldTextInput('sensorValues'), 'VARVALUE');
        this.setPreviousStatement(true);
        this.setNextStatement(true);
        this.setInputsInline(true);
        this.setTooltip("QTR-5RC，sensorValues[5]，无需校准读原始传感器值;0-最大反射率，2500-最小反射率。");
    }
};

/************************** GPS 定位模块 ***************************/
export const yf_gps_init = {
    init: function () {
        this.setColour(yfrobotColor_input_GPS);
        this.appendDummyInput("")
            .appendField(new Blockly.FieldImage(require("../media/yf_GPS.svg"), 18, 18))
            .appendField(Blockly.Msg.MIXLY_GPS_INIT)
        this.appendValueInput("RX", Number)
            .appendField("RX#")
            .setCheck(Number);
        this.appendValueInput("TX", Number)
            .appendField("TX#")
            .setCheck(Number);
        this.appendValueInput("CONTENT", Number)
            .appendField(Blockly.Msg.MIXLY_SERIAL_BEGIN)
            .setCheck(Number);
        this.setPreviousStatement(true, null);
        this.setNextStatement(true, null);
        this.setInputsInline(true);
        this.setTooltip(Blockly.Msg.MIXLY_TOOLTIP_GPS_INIT);
    }
}; 

export const yf_gps_data_available = {
    init: function () {
        this.setColour(yfrobotColor_input_GPS);
        this.appendDummyInput()
            .appendField(new Blockly.FieldImage(require("../media/yf_GPS.svg"), 18, 18))
            .appendField(Blockly.Msg.MIXLY_GPS_DATA_AVAILABLE);
        this.setOutput(true, Boolean);
        this.setTooltip(Blockly.Msg.MIXLY_TOOLTIP_GPS_DATA_AVAILABLE);
    }
};

export const yf_gps_data_encode = {
    init: function () {
        this.setColour(yfrobotColor_input_GPS);
        this.appendDummyInput()
            .appendField(new Blockly.FieldImage(require("../media/yf_GPS.svg"), 18, 18))
            .appendField(Blockly.Msg.MIXLY_GPS_DATA_ENCODE);
        this.setOutput(true, Boolean);
    }
};

export const yf_gps_xxx_isValid = {
    init: function () {
        this.setColour(yfrobotColor_input_GPS);
        this.appendDummyInput()
            .appendField(new Blockly.FieldImage(require("../media/yf_GPS.svg"), 18, 18))
            .appendField("GPS")
            .appendField(new Blockly.FieldDropdown([[Blockly.Msg.MIXLY_GPS_LOCATION, "location"], 
            [Blockly.Msg.MIXLY_GPS_DATE, "date"], [Blockly.Msg.MIXLY_GPS_TIME, "time"]]), "WHAT")
            .appendField(Blockly.Msg.MIXLY_GPS_ISVALID);
        this.setOutput(true, Boolean);
        this.setTooltip(Blockly.Msg.MIXLY_TOOLTIP_GPS_DATA_VAILD);
    }
};

export const yf_gps_getData_xxx = {
    init: function () {
        this.setColour(yfrobotColor_input_GPS);
        this.appendDummyInput()
            .appendField(new Blockly.FieldImage(require("../media/yf_GPS.svg"), 18, 18))
            .appendField(Blockly.Msg.MIXLY_GPS_GET)
            .appendField(new Blockly.FieldDropdown([[Blockly.Msg.MIXLY_GPS_LOCATION_LAT, "location.lat"], 
            [Blockly.Msg.MIXLY_GPS_LOCATION_LNG, "location.lng"], [Blockly.Msg.MIXLY_GPS_DATE_YEAR, "date.year"], 
            [Blockly.Msg.MIXLY_GPS_DATE_MONTH, "date.month"], [Blockly.Msg.MIXLY_GPS_DATE_DAY, "date.day"], 
            [Blockly.Msg.MIXLY_GPS_TIME_HOUR, "time.hour"], [Blockly.Msg.MIXLY_GPS_TIME_MINUTE, "time.minute"], 
            [Blockly.Msg.MIXLY_GPS_TIME_SECOND, "time.second"], 
            [Blockly.Msg.MIXLY_GPS_TIME_CENTISECOND, "time.centisecond"]]), "WHAT");
        this.setOutput(true, Number);
        this.setTooltip(Blockly.Msg.MIXLY_TOOLTIP_GPS_GETDATA.replace('%1', this.getFieldValue('WHAT')));
    }
};

/*GPS GSV MESSAGE*/ 
export const yf_gps_GSV_init = {
    init: function () {
        this.setColour(yfrobotColor_input_GPS);
        this.appendDummyInput("")
            .appendField(new Blockly.FieldImage(require("../media/yf_GPS.svg"), 18, 18))
            .appendField(Blockly.Msg.MIXLY_GPS_GSV_INIT)
        this.setPreviousStatement(true, null);
        this.setNextStatement(true, null);
        this.setInputsInline(true);
        this.setTooltip(Blockly.Msg.MIXLY_TOOLTIP_GPS_INIT);
    }
};   
export const yf_gps_gsv_MS_isUpdated = {
    init: function () {
        this.setColour(yfrobotColor_input_GPS);
        this.appendDummyInput()
            .appendField(new Blockly.FieldImage(require("../media/yf_GPS.svg"), 18, 18))
            .appendField("GPS GSV数据更新成功")
            .appendField(new Blockly.FieldDropdown([["1", "1"], ["2", "2"]]), "GROUP");
        this.setOutput(true, Boolean);
        this.setTooltip(Blockly.Msg.MIXLY_TOOLTIP_GPS_DATA_VAILD);
    }
};

export const yf_gps_GSV_getData = {
    init: function () {
        this.setColour(yfrobotColor_input_GPS);
        this.appendDummyInput()
            .appendField(new Blockly.FieldImage(require("../media/yf_GPS.svg"), 18, 18))
        this.appendValueInput("NUM")
            .appendField("获取卫星")
            .setCheck(Number)
        this.appendDummyInput()
            .appendField("GSV数据")
            .appendField(new Blockly.FieldDropdown([[Blockly.Msg.MIXLY_GPS_GSV_SN, "satNumber"], 
            [Blockly.Msg.MIXLY_GPS_GSV_ET, "elevation"], [Blockly.Msg.MIXLY_GPS_GSV_A, "azimuth"], 
            [Blockly.Msg.MIXLY_GPS_GSV_SNR, "snr"]]), "WHAT");
        this.setOutput(true, Number);
        this.setInputsInline(true);
        this.setTooltip("GSV数据，卫星编号，仰角，方位角，噪声比");
    }
};
var YF_GSV = [
    ["1", "1"], ["2", "2"], ["3", "3"], ["4", "4"]
];
// 外部列表
export const yf_gps_GSV_list1 = {
    init: function () {
        this.setColour(yfrobotColor_input_GPS);
        this.appendDummyInput("")
            .appendField(new Blockly.FieldImage(require("../media/yf_GPS.svg"), 18, 18))
            .setAlign(Blockly.Msg.ALIGN_RIGHT)
            .appendField(new Blockly.FieldDropdown(YF_GSV), "VAR");
        this.setInputsInline(true);
        this.setOutput(true, Number);
    }
};


/********************************************
SENSOR - 传感器模块
* 血氧传感器 - max30102
* 颜色传感器 - TCS34725
* 颜色传感器 - VEML6040
* 手势传感器 - apds9960
* 陀螺仪传感器 - MPU6050
*********************************************/

/* Enable or disable specific sensors */
var YF_ENABLESENSOR = [["Gesture", 'enableGestureSensor'], ["Proximity", 'enableProximitySensor'], ["Light", 'enableLightSensor']];

// 手势传感器APDS9960 - 初始化并使能特定传感器
export const yf_apds9960_init = {
    init: function () {
        this.setColour(yfrobotColor_sensor_apds);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_YFLEGO_APDS9960)
            .appendField(Blockly.Msg.MIXLY_YFLEGO_APDS9960_INIT)
            .appendField(new Blockly.FieldDropdown(YF_ENABLESENSOR), 'SEN');
        this.setOutput(true, Number);
        this.setInputsInline(true);
    }
};

// 手势传感器APDS9960 - 手势功能可用
export const yf_apds9960_gesture_available = {
    init: function () {
        this.setColour(yfrobotColor_sensor_apds);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_YFLEGO_APDS9960)
            .appendField(Blockly.Msg.MIXLY_YFLEGO_APDS9960_GES_AVAILABLE)
        this.setOutput(true, Number);
        this.setInputsInline(true);
    }
};

// 手势传感器APDS9960 - 读取手势
export const yf_apds9960_read_gesture = {
    init: function () {
        this.setColour(yfrobotColor_sensor_apds);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_YFLEGO_APDS9960)
            .appendField(Blockly.Msg.MIXLY_YFLEGO_APDS9960_READ_GES)
        this.setOutput(true, Number);
        this.setInputsInline(true);
    }
};

// Enable or disable specific sensors
var YFLEGO_GESTURE_NAME = [
    [Blockly.Msg.MIXLY_YFLEGO_APDS9960_GES_NONE, 'DIR_NONE'], [Blockly.Msg.MIXLY_YFLEGO_APDS9960_GES_LEFT, 'DIR_LEFT'],
    [Blockly.Msg.MIXLY_YFLEGO_APDS9960_GES_RIGHT, 'DIR_RIGHT'], [Blockly.Msg.MIXLY_YFLEGO_APDS9960_GES_UP, 'DIR_UP'],
    [Blockly.Msg.MIXLY_YFLEGO_APDS9960_GES_DOWN, 'DIR_DOWN'], [Blockly.Msg.MIXLY_YFLEGO_APDS9960_GES_NEAR, 'DIR_NEAR'],
    [Blockly.Msg.MIXLY_YFLEGO_APDS9960_GES_FAR, 'DIR_FAR'],
];

// 手势传感器APDS9960 - 手势名
export const yf_apds9960_gesture_name = {
    init: function () {
        this.setColour(yfrobotColor_sensor_apds);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_YFLEGO_APDS9960)
            .appendField(Blockly.Msg.MIXLY_YFLEGO_APDS9960_GES_NAME)
            .appendField(new Blockly.FieldDropdown(YFLEGO_GESTURE_NAME), 'GESNAME');
        this.setOutput(true, Number);
        this.setInputsInline(true);
        this.setTooltip('');
    }
};

// 颜色传感器读取间隔，用于设置TCS34725传感器的积分时间，用户可以根据需要选择适合的积分时间来获取最佳的感光效果。
var YFLEGO_TCS34725_INTEGRATIONTIME = [
    ['INTEGRATIONTIME_2_4MS', 'TCS34725_INTEGRATIONTIME_2_4MS'],
    ['INTEGRATIONTIME_24MS', 'TCS34725_INTEGRATIONTIME_24MS'],
    ['INTEGRATIONTIME_50MS', 'TCS34725_INTEGRATIONTIME_50MS'],
    ['INTEGRATIONTIME_101MS', 'TCS34725_INTEGRATIONTIME_101MS'],
    ['INTEGRATIONTIME_154MS', 'TCS34725_INTEGRATIONTIME_154MS'],
    ['INTEGRATIONTIME_700MS', 'TCS34725_INTEGRATIONTIME_700MS'],
];

// 颜色传感器TCS34725 - 初始化并读取RGB颜色值
export const yf_tcs34725_begin_readrgb = {
    init: function () {
        this.setColour(yfrobotColor_sensor);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_YFLEGO_TCS34725)
            .appendField(Blockly.Msg.MIXLY_YFLEGO_TCS34725_INIT_READ_RGB)
            .appendField(new Blockly.FieldDropdown(YFLEGO_TCS34725_INTEGRATIONTIME), 'INTEGRATIONTIME');
        this.setInputsInline(true);
        this.setPreviousStatement(true, null);
        this.setNextStatement(true, null);
        this.setTooltip('用于设置TCS34725传感器的积分时间，用户可以根据需要选择适合的积分时间来获取最佳的感光效果。');
    }
};

/* Enable or disable specific sensors */
var YF_TCS34725_GETRGB = [[Blockly.Msg.MIXLY_YFLEGO_TCS34725_GET_R, 'r'], [Blockly.Msg.MIXLY_YFLEGO_TCS34725_GET_G, 'g'], [Blockly.Msg.MIXLY_YFLEGO_TCS34725_GET_B, 'b']];

// 颜色传感器TCS34725 - 获取RGB颜色值
export const yf_tcs34725_get_rgb = {
    init: function () {
        this.setColour(yfrobotColor_sensor);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_YFLEGO_TCS34725)
            .appendField(Blockly.Msg.MIXLY_YFLEGO_TCS34725_GET_COLOR)
            .appendField(new Blockly.FieldDropdown(YF_TCS34725_GETRGB), 'VALUERGB')
        this.setOutput(true, Number);
        this.setInputsInline(true);
        this.setTooltip('');
    }
};

// 颜色传感器VEML6040- 初始化
export const yf_veml6040_begin = {
    init: function () {
        this.setColour(yfrobotColor_sensor);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_YFLEGO_VEML6040)
            .appendField(Blockly.Msg.MIXLY_YFLEGO_VEML6040_INIT)
        this.setInputsInline(true);
        this.setPreviousStatement(true, null);
        this.setNextStatement(true, null);
        this.setTooltip('');
    }
};

// 颜色传感器VEML6040 - 获取RGB颜色值
export const yf_veml6040_get_rgb = {
    init: function () {
        this.setColour(yfrobotColor_sensor);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_YFLEGO_VEML6040)
            .appendField(Blockly.Msg.MIXLY_YFLEGO_TCS34725_GET_COLOR)
            .appendField(new Blockly.FieldDropdown(YF_TCS34725_GETRGB), 'VALUERGB')
        this.setOutput(true, Number);
        this.setInputsInline(true);
        this.setTooltip('');
    }
};

// 陀螺仪传感器MPU6050 - 获取数据
export const yf_mpu6050 = {
    init: function () {
        this.setColour(yfrobotColor_sensor_mpu)
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_MPU6050)
        this.appendDummyInput("")
            .setAlign(Blockly.ALIGN_RIGHT)
            .appendField(new Blockly.FieldDropdown([
                [Blockly.Msg.MIXLY_Accel_X, "getAccX()"],
                [Blockly.Msg.MIXLY_Accel_Y, "getAccY()"],
                [Blockly.Msg.MIXLY_Accel_Z, "getAccZ()"],
                [Blockly.Msg.MIXLY_Gyro_X, "getAngleX()"],
                [Blockly.Msg.MIXLY_Gyro_Y, "getAngleY()"],
                [Blockly.Msg.MIXLY_Gyro_Z, "getAngleZ()"],
                [Blockly.Msg.MIXLY_readTempC, "getTemp()"]
            ]), "MPU6050_TYPE");
        this.setInputsInline(true);
        this.setOutput(true);
    }
};

// 陀螺仪传感器MPU6050 - 更新数据
export const yf_mpu6050_update = {
    init: function () {
        this.setColour(yfrobotColor_sensor_mpu);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_MPU6050 + Blockly.Msg.MIXLY_update_data);
        this.setPreviousStatement(true);
        this.setNextStatement(true);
        this.setInputsInline(true);
    }
};

// 心率血氧传感器MAX30102 - 初始化获取数据
export const yf_max30102_begin = {
    init: function () {
        this.setColour(yfrobotColor_sensor);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_YFLEGO_MAX30102)
            .appendField(Blockly.Msg.MIXLY_YFLEGO_MAX30102_INIT_READ_RGB)
        this.setInputsInline(true);
        this.setPreviousStatement(true, null);
        this.setNextStatement(true, null);
        this.setTooltip('');
    }
};

// 心率血氧传感器MAX30102 - 获取每分钟心跳值Avg BPM
export const yf_max30102_get_bpm = {
    init: function () {
        this.setColour(yfrobotColor_sensor);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_YFLEGO_MAX30102)
            .setAlign(Blockly.ALIGN_RIGHT)
            .appendField(new Blockly.FieldDropdown([
                [Blockly.Msg.MIXLY_YFLEGO_MAX30102_GET_BPM, "BPM"],
                [Blockly.Msg.MIXLY_YFLEGO_MAX30102_GET_AVGBPM, "AVGBPM"],
                [Blockly.Msg.MIXLY_YFLEGO_MAX30102_GET_IRVAL, "IRVAL"],
            ]), "MAX30102_BPM_TYPE");
        this.setOutput(true, Number);
        this.setInputsInline(true);
        this.setTooltip(Blockly.Msg.MIXLY_YFLEGO_TIP_MAX30102_KEEP_FINGER);
    }
};

// TOF激光测距传感器VL53L0X- 初始化
export const yf_tof_vl53l0x_begin = {
    init: function () {
        this.setColour(yfrobotColor_sensor_tof);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_YFLEGO_TOF_VL53L0X)
            .appendField(Blockly.Msg.MIXLY_YFLEGO_TOF_VL53L0X_INIT)
        this.setInputsInline(true);
        this.setPreviousStatement(true, null);
        this.setNextStatement(true, null);
        this.setTooltip('');
    }
};

// TOF激光测距传感器VL53L0X 测量精度
var YF_TOF_VL53L0X_ACCURACY = [
    [Blockly.Msg.MIXLY_YFLEGO_TOF_VL53L0X_LOW_ACCURACY, 'Low'], [Blockly.Msg.MIXLY_YFLEGO_TOF_VL53L0X_HIGH_ACCURACY, 'High']
];

// TOF激光测距传感器VL53L0X 单次、连续测量
var YF_TOF_VL53L0X_TEST = [
    [Blockly.Msg.MIXLY_YFLEGO_TOF_VL53L0X_CONTINUOUS, 'Continuous'], [Blockly.Msg.MIXLY_YFLEGO_TOF_VL53L0X_SINGLE, 'Single']
];

// TOF激光测距传感器VL53L0X- 设置
export const yf_tof_vl53l0x_set = {
    init: function () {
        this.setColour(yfrobotColor_sensor_tof);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_YFLEGO_TOF_VL53L0X)
            .appendField(Blockly.Msg.MIXLY_YFLEGO_TOF_VL53L0X_SET)
        this.appendDummyInput("")
            .appendField(new Blockly.FieldDropdown(YF_TOF_VL53L0X_ACCURACY), "ATYPE");
        this.appendDummyInput("")
            .appendField(new Blockly.FieldDropdown(YF_TOF_VL53L0X_TEST), "BTYPE");
        this.setInputsInline(true);
        this.setPreviousStatement(true, null);
        this.setNextStatement(true, null);
        this.setTooltip('');
    }
};

// TOF激光测距传感器VL53L0X- 测距
export const yf_tof_vl53l0x_getDistance = {
    init: function () {
        this.setColour(yfrobotColor_sensor_tof);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_YFLEGO_TOF_VL53L0X_GET)
        this.setOutput(true, Number);
        this.setInputsInline(true);
        this.setTooltip('');
    }
};

// 巡线I2C-5路传感器
var YF_LINE_FOLLOW_IIC = [
    ['①', '0'], ['②', '1'], ['③', '2'], ['④', '3'], ['⑤', '4'], ['⑥', '5'], ['⑦', '6']
];

// 巡线I2C-5路传感器
export const yf_i2c_line_patrol_readSensor = {
    init: function () {
        this.setColour(yfrobotColor_sensor);
        this.appendDummyInput("")
            // .appendField(new Blockly.FieldImage(require("../media/yf_linefollow.svg"), 30, 30))
            .appendField("巡线I2C传感器");
        this.appendDummyInput("")
            .appendField(new Blockly.FieldDropdown(YF_LINE_FOLLOW_IIC), 'CHANNEL');
        this.setInputsInline(true);
        this.setOutput(true, Number);
        this.setTooltip("巡线I2C 5/7路传感器,");
    }
};

/********************************************
DISPLAY - 显示
*********************************************/
//RGB初始化 引脚 、灯数
export const yf_display_rgb_init = {
    init: function () {
        this.setColour(yfrobotColor_dis);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_RGB)
            .appendField(new Blockly.FieldImage(require("../media/yf_rgb.png"), 58, 24));
        this.appendValueInput("PIN", Number)
            .setCheck(Number)
            .setAlign(Blockly.ALIGN_RIGHT)
            .appendField(Blockly.Msg.MIXLY_PIN);
        this.appendValueInput("LEDCOUNT")
            .setCheck(Number)
            .setAlign(Blockly.ALIGN_RIGHT)
            .appendField(Blockly.Msg.MIXLY_RGB_COUNT);
        this.setInputsInline(true);
        this.setPreviousStatement(true, null);
        this.setNextStatement(true, null);
        this.setTooltip(Blockly.Msg.MIXLY_YFTIP_RGB_INIT);
    }
};

//RGB点亮模块1 - 引脚、灯号、顏色值
export const yf_display_rgb = {
    init: function () {
        this.setColour(yfrobotColor_dis);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_RGB)
            .appendField(new Blockly.FieldImage(require("../media/yf_rgb.png"), 58, 24));
        this.appendValueInput("PIN", Number)
            .setCheck(Number)
            .setAlign(Blockly.ALIGN_RIGHT)
            .appendField(Blockly.Msg.MIXLY_PIN);
        this.appendValueInput("_LED_", Number)
            .setCheck(Number)
            .setAlign(Blockly.ALIGN_RIGHT)
            .appendField(Blockly.Msg.MIXLY_RGB_NUM);
        this.appendValueInput("COLOR", Number)
            .setCheck(Number)
            .setAlign(Blockly.ALIGN_RIGHT)
            .appendField(Blockly.Msg.MIXLY_YF_RGB_COLOR);
        this.setInputsInline(true);
        this.setPreviousStatement(true, null);
        this.setNextStatement(true, null);
        this.setTooltip('');
    }
};

// RGB值（直接颜色选择）
export const yf_display_rgb_color_seclet = {
    init: function () {
        this.setColour(yfrobotColor_dis);
        this.appendDummyInput("")
            .setAlign(Blockly.ALIGN_RIGHT)
            .appendField(new Blockly.FieldColour("#33ff33"), "COLOR");
        this.setInputsInline(true);
        this.setOutput(true, Number);
    }
};

//RGB值（24位颜色值：8位R，8位G，8位B）
export const yf_display_rgb_color_rgb = {
    init: function () {
        this.setColour(yfrobotColor_dis);
        this.appendValueInput("R")
            .setCheck(Number)
            .setAlign(Blockly.ALIGN_RIGHT)
            .appendField(Blockly.Msg.MIXLY_RGB_R);
        this.appendValueInput("G")
            .setCheck(Number)
            .setAlign(Blockly.ALIGN_RIGHT)
            .appendField(Blockly.Msg.MIXLY_RGB_G);
        this.appendValueInput("B")
            .setCheck(Number)
            .setAlign(Blockly.ALIGN_RIGHT)
            .appendField(Blockly.Msg.MIXLY_RGB_B);
        this.setInputsInline(true);
        this.setOutput(true);
        this.setTooltip('');
    }
};

//RGB设置亮度模块 - 256亮度级 0~255
export const yf_display_rgb_setbrightness = {
    init: function () {
        this.setColour(yfrobotColor_dis);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_RGB)
            .appendField(new Blockly.FieldImage(require("../media/yf_rgb.png"), 58, 24));
        this.appendValueInput("PIN", Number)
            .setCheck(Number)
            .setAlign(Blockly.ALIGN_RIGHT)
            .appendField(Blockly.Msg.MIXLY_PIN);
        this.appendValueInput("BRIGHTNESS", Number)
            .setCheck(Number)
            .setAlign(Blockly.ALIGN_RIGHT)
            .appendField(Blockly.Msg.MIXLY_YF_RGB_BRIGHTNESS);
        this.setInputsInline(true);
        this.setPreviousStatement(true, null);
        this.setNextStatement(true, null);
        this.setTooltip(Blockly.Msg.MIXLY_YFTIP_RGB_BRIGHTNESS);
    }
};

//RGB 显示
export const yf_display_rgb_show = {
    init: function () {
        this.setColour(yfrobotColor_dis);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_RGB)
        this.appendValueInput("PIN", Number)
            .setCheck(Number)
            .setAlign(Blockly.ALIGN_RIGHT)
            .appendField(Blockly.Msg.MIXLY_PIN);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_YF_RGB_SHOW);
        this.setInputsInline(true);
        this.setPreviousStatement(true, null);
        this.setNextStatement(true, null);
    }
};

var OLED_TYPE = [
    ["SSD1306(128×64)", "SSD1306_128X64_NONAME"],
    ["SSD1306(128×32)", "SSD1306_128X32_UNIVISION"],
    ["SH1106(128×64)", "SH1106_128X64_NONAME"]
];

var ROTATION_TYPE = [
    [Blockly.Msg.MIXLY_DISPLAY_MATRIX_ROTATE + " 0°", "U8G2_R0"],
    [Blockly.Msg.MIXLY_DISPLAY_MATRIX_ROTATE + " 90°", "U8G2_R1"],
    [Blockly.Msg.MIXLY_DISPLAY_MATRIX_ROTATE + " 180°", "U8G2_R2"],
    [Blockly.Msg.MIXLY_DISPLAY_MATRIX_ROTATE + " 270°", "U8G2_R3"],
    [Blockly.Msg.MIRROR, "U8G2_MIRROR"]
];

// 0.96OLED显示-初始化(iic)
export const yf_oled_init = {
    init: function () {
        this.setColour(yfrobotColor_dis);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_SETUP)
            .appendField(new Blockly.FieldDropdown(OLED_TYPE), "OLED_TYPE")
            .appendField(new Blockly.FieldTextInput("u8g2"), "NAME")
            .appendField(" " + Blockly.Msg.MIXLY_MICROBIT_monitor)
            .appendField(new Blockly.FieldDropdown(ROTATION_TYPE), "ROTATION")
            .appendField(' SCL')
            .appendField(new Blockly.FieldDropdown(window.profile.default.digital), "SCL")
            .appendField('SDA')
            .appendField(new Blockly.FieldDropdown(window.profile.default.digital), "SDA");
        this.appendValueInput("ADDRESS")
            .appendField(Blockly.Msg.MIXLY_LCD_ADDRESS);
        this.setInputsInline(true);
        this.setPreviousStatement(true);
        this.setNextStatement(true);
        this.setTooltip(Blockly.OLED_INIT2_TOOLTIP);
        this.setFieldValue(window.profile.default.SCL[0][1], "SCL");
        this.setFieldValue(window.profile.default.SDA[0][1], "SDA");
        // this.setFieldValue("SCL", "SCL");
        // this.setFieldValue("SDA", "SDA");
    }
};

// 0.96OLED显示-清屏幕
export const yf_oled_clear = {
    init: function () {
        this.setColour(yfrobotColor_dis);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.DISPLAY)
            .appendField(new Blockly.FieldTextInput("u8g2"), "NAME")
            .appendField(Blockly.Msg.OLED_CLEAR);
        this.setPreviousStatement(true);
        this.setNextStatement(true);
        this.setTooltip();
    }
};

// 0.96OLED显示-新建页面
export const yf_oled_page = {
    init: function () {
        this.setColour(yfrobotColor_dis);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.DISPLAY)
            .appendField(new Blockly.FieldTextInput("u8g2"), "NAME")
            .appendField(Blockly.Msg.OLED_PAGE);
        this.appendStatementInput('DO')
            .appendField('');
        this.setPreviousStatement(true);
        this.setNextStatement(true);
        this.setTooltip(Blockly.oled_page_tooltip);
    }
};

// 0.96OLED显示-定义图像名称和数据
export const yf_oled_define_bitmap_data = {
    init: function () {
        this.setColour(yfrobotColor_dis);
        this.appendDummyInput("")
            // .appendField(Blockly.Msg.DISPLAY)
            // .appendField(new Blockly.FieldTextInput("u8g2"), "NAME")
            .appendField(Blockly.Msg.OLED_BITMAP_NAME)
            .appendField(new Blockly.FieldTextInput('bitmap'), 'VAR')
            .appendField(Blockly.Msg.OLED_BITMAP_DATA)
            // .appendField(new Blockly.FieldTextInput('0x80,0x00,0x84,0x10,0x88,0x10,0x90,0x08,0x90,0x04,0x80,0x00,0xFE,0x3F,0xC0,0x01, 0xA0,0x02,0xA0,0x02,0x90,0x04,0x88,0x08,0x84,0x10,0x83,0x60,0x80,0x00,0x80,0x00'), 'TEXT');
            .appendField(new Blockly.FieldTextInput('0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x78,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xF8,0x01,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xF8,0x07,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x38,0x00,0xB8,0x1F,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x3E,0x00,0x38,0x7F,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x80,0x3F,0x00,0x38,0xFC,0x01,0x00,0xE0,0x00,0x0C,0x00,0x00,0xE0,0x3F,0x00,0x38,0xF0,0x07,0x00,0xE0,0x00,0x0C,0x00,0x00,0xF8,0x31,0x00,0x38,0xC0,0x1F,0x00,0xE0,0x00,0x0C,0x00,0x00,0x7E,0x30,0x00,0x38,0x00,0x7F,0x00,0xE0,0x00,0x0C,0x00,0x80,0x1F,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x00,0xE0,0x07,0x30,0x00,0x38,0x00,0xF0,0x07,0xE0,0x00,0x0C,0x00,0xF8,0x01,0x30,0x00,0x38,0x00,0xE0,0x1F,0xE0,0x00,0x0C,0x00,0xFE,0x00,0x30,0x00,0x38,0x00,0xF0,0x7F,0xE0,0x00,0x0C,0x80,0x3F,0x00,0x30,0x00,0x38,0x00,0xF8,0xFF,0xE1,0x00,0x0C,0xE0,0x6F,0x01,0x30,0x00,0x38,0x00,0xFC,0xF9,0xE7,0x00,0x0C,0xF8,0x4F,0x00,0x30,0x00,0x38,0x00,0xFD,0xDD,0xFF,0x00,0x0C,0xFE,0xF7,0x00,0x30,0x00,0x38,0x00,0xFE,0x3F,0xFF,0x00,0x8C,0xFF,0xFF,0x02,0x30,0x00,0x38,0x00,0xFE,0x3F,0xFC,0x00,0xFC,0xFF,0xFF,0x00,0x30,0x00,0x38,0x00,0xFE,0x3F,0xF0,0x00,0xFC,0xF5,0xFF,0x02,0x30,0x00,0x38,0x00,0xFC,0x1F,0xE0,0x00,0x7C,0xF0,0xFF,0x00,0x30,0x00,0x38,0x00,0xFD,0x5F,0xE0,0x00,0x1C,0xE0,0x7F,0x00,0x38,0x00,0x70,0x00,0xF8,0x0F,0x70,0x00,0x1C,0xE8,0x7F,0x01,0x38,0x00,0x70,0x00,0xF0,0x07,0x70,0x00,0x3C,0xC0,0x3F,0x00,0x3C,0x00,0xF0,0x00,0xC0,0x01,0x78,0x00,0x38,0x20,0x4F,0x00,0x1C,0x00,0xE0,0x01,0x20,0x04,0x3C,0x00,0x78,0x80,0x10,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00'), 'TEXT');
        this.setPreviousStatement(true);
        this.setNextStatement(true);
        this.setTooltip(Blockly.OLED_DEF_BMP_DATA_TOOLTIP);
    }
}


// 0.96OLED显示-显示图像
export const yf_oled_showBitmap = {
    init: function () {
        this.setColour(yfrobotColor_dis);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.DISPLAY)
            .appendField(new Blockly.FieldTextInput("u8g2"), "NAME")
            .appendField(Blockly.Msg.OLED_BITMAP);
        this.appendValueInput("START_X", Number)
            .appendField(Blockly.Msg.OLED_START_X)
            .setCheck(Number);
        this.appendValueInput("START_Y", Number)
            .appendField(Blockly.Msg.OLED_START_Y)
            .setCheck(Number);
        this.appendValueInput("WIDTH", Number)
            .appendField(Blockly.Msg.MIXLY_WIDTH)
            .setCheck(Number);
        this.appendValueInput("HEIGHT", Number)
            .appendField(Blockly.Msg.MIXLY_HEIGHT)
            .setCheck(Number);
        this.appendValueInput("bitmap_name", String)
            .appendField(Blockly.Msg.OLED_BITMAP_NAME)
            .setCheck(String);
        this.setInputsInline(true);
        this.setPreviousStatement(true);
        this.setNextStatement(true);
        this.setTooltip(Blockly.OLED_SHOW_BMP_TOOLTIP);
    }
};

var ICON_SIZE = [
    ["8", "1"],
    ["16", "2"],
    ["32", "4"],
    ["48", "6"],
    ["64", "8"],
];

var ICON_IMAGE = [
    [{ 'src': require('../media/oled_icons/64.png'), 'width': 24, 'height': 24, 'alt': '64' }, '64'],
    [{ 'src': require('../media/oled_icons/65.png'), 'width': 24, 'height': 24, 'alt': '65' }, '65'],
    [{ 'src': require('../media/oled_icons/66.png'), 'width': 24, 'height': 24, 'alt': '66' }, '66'],
    [{ 'src': require('../media/oled_icons/67.png'), 'width': 24, 'height': 24, 'alt': '67' }, '67'],
    [{ 'src': require('../media/oled_icons/68.png'), 'width': 24, 'height': 24, 'alt': '68' }, '68'],
    [{ 'src': require('../media/oled_icons/69.png'), 'width': 24, 'height': 24, 'alt': '69' }, '69'],
    [{ 'src': require('../media/oled_icons/70.png'), 'width': 24, 'height': 24, 'alt': '70' }, '70'],
    [{ 'src': require('../media/oled_icons/71.png'), 'width': 24, 'height': 24, 'alt': '71' }, '71'],
    [{ 'src': require('../media/oled_icons/72.png'), 'width': 24, 'height': 24, 'alt': '72' }, '72'],
    [{ 'src': require('../media/oled_icons/73.png'), 'width': 24, 'height': 24, 'alt': '73' }, '73'],
    [{ 'src': require('../media/oled_icons/74.png'), 'width': 24, 'height': 24, 'alt': '74' }, '74'],
    [{ 'src': require('../media/oled_icons/75.png'), 'width': 24, 'height': 24, 'alt': '75' }, '75'],
    [{ 'src': require('../media/oled_icons/76.png'), 'width': 24, 'height': 24, 'alt': '76' }, '76'],
    [{ 'src': require('../media/oled_icons/77.png'), 'width': 24, 'height': 24, 'alt': '77' }, '77'],
    [{ 'src': require('../media/oled_icons/78.png'), 'width': 24, 'height': 24, 'alt': '78' }, '78'],
    [{ 'src': require('../media/oled_icons/79.png'), 'width': 24, 'height': 24, 'alt': '79' }, '79'],
    [{ 'src': require('../media/oled_icons/80.png'), 'width': 24, 'height': 24, 'alt': '80' }, '80'],
    [{ 'src': require('../media/oled_icons/81.png'), 'width': 24, 'height': 24, 'alt': '81' }, '81'],
    [{ 'src': require('../media/oled_icons/82.png'), 'width': 24, 'height': 24, 'alt': '82' }, '82'],
    [{ 'src': require('../media/oled_icons/83.png'), 'width': 24, 'height': 24, 'alt': '83' }, '83'],
    [{ 'src': require('../media/oled_icons/84.png'), 'width': 24, 'height': 24, 'alt': '84' }, '84'],
    [{ 'src': require('../media/oled_icons/85.png'), 'width': 24, 'height': 24, 'alt': '85' }, '85'],
    [{ 'src': require('../media/oled_icons/86.png'), 'width': 24, 'height': 24, 'alt': '86' }, '86'],
    [{ 'src': require('../media/oled_icons/87.png'), 'width': 24, 'height': 24, 'alt': '87' }, '87'],
    [{ 'src': require('../media/oled_icons/88.png'), 'width': 24, 'height': 24, 'alt': '88' }, '88'],
    [{ 'src': require('../media/oled_icons/89.png'), 'width': 24, 'height': 24, 'alt': '89' }, '89'],
    [{ 'src': require('../media/oled_icons/90.png'), 'width': 24, 'height': 24, 'alt': '90' }, '90'],
    [{ 'src': require('../media/oled_icons/91.png'), 'width': 24, 'height': 24, 'alt': '91' }, '91'],
    [{ 'src': require('../media/oled_icons/92.png'), 'width': 24, 'height': 24, 'alt': '92' }, '92'],
    [{ 'src': require('../media/oled_icons/93.png'), 'width': 24, 'height': 24, 'alt': '93' }, '93'],
    [{ 'src': require('../media/oled_icons/94.png'), 'width': 24, 'height': 24, 'alt': '94' }, '94'],
    [{ 'src': require('../media/oled_icons/95.png'), 'width': 24, 'height': 24, 'alt': '95' }, '95'],
    [{ 'src': require('../media/oled_icons/96.png'), 'width': 24, 'height': 24, 'alt': '96' }, '96'],
    [{ 'src': require('../media/oled_icons/97.png'), 'width': 24, 'height': 24, 'alt': '97' }, '97'],
    [{ 'src': require('../media/oled_icons/98.png'), 'width': 24, 'height': 24, 'alt': '98' }, '98'],
    [{ 'src': require('../media/oled_icons/99.png'), 'width': 24, 'height': 24, 'alt': '99' }, '99'],
    [{ 'src': require('../media/oled_icons/100.png'), 'width': 24, 'height': 24, 'alt': '100' }, '100'],
    [{ 'src': require('../media/oled_icons/101.png'), 'width': 24, 'height': 24, 'alt': '101' }, '101'],
    [{ 'src': require('../media/oled_icons/102.png'), 'width': 24, 'height': 24, 'alt': '102' }, '102'],
    [{ 'src': require('../media/oled_icons/103.png'), 'width': 24, 'height': 24, 'alt': '103' }, '103'],
    [{ 'src': require('../media/oled_icons/104.png'), 'width': 24, 'height': 24, 'alt': '104' }, '104'],
    [{ 'src': require('../media/oled_icons/105.png'), 'width': 24, 'height': 24, 'alt': '105' }, '105'],
    [{ 'src': require('../media/oled_icons/106.png'), 'width': 24, 'height': 24, 'alt': '106' }, '106'],
    [{ 'src': require('../media/oled_icons/107.png'), 'width': 24, 'height': 24, 'alt': '107' }, '107'],
    [{ 'src': require('../media/oled_icons/108.png'), 'width': 24, 'height': 24, 'alt': '108' }, '108'],
    [{ 'src': require('../media/oled_icons/109.png'), 'width': 24, 'height': 24, 'alt': '109' }, '109'],
    [{ 'src': require('../media/oled_icons/110.png'), 'width': 24, 'height': 24, 'alt': '110' }, '110'],
    [{ 'src': require('../media/oled_icons/111.png'), 'width': 24, 'height': 24, 'alt': '111' }, '111'],
    [{ 'src': require('../media/oled_icons/112.png'), 'width': 24, 'height': 24, 'alt': '112' }, '112'],
    [{ 'src': require('../media/oled_icons/113.png'), 'width': 24, 'height': 24, 'alt': '113' }, '113'],
    [{ 'src': require('../media/oled_icons/114.png'), 'width': 24, 'height': 24, 'alt': '114' }, '114'],
    [{ 'src': require('../media/oled_icons/115.png'), 'width': 24, 'height': 24, 'alt': '115' }, '115'],
    [{ 'src': require('../media/oled_icons/116.png'), 'width': 24, 'height': 24, 'alt': '116' }, '116'],
    [{ 'src': require('../media/oled_icons/117.png'), 'width': 24, 'height': 24, 'alt': '117' }, '117'],
    [{ 'src': require('../media/oled_icons/118.png'), 'width': 24, 'height': 24, 'alt': '118' }, '118'],
    [{ 'src': require('../media/oled_icons/119.png'), 'width': 24, 'height': 24, 'alt': '119' }, '119'],
    [{ 'src': require('../media/oled_icons/120.png'), 'width': 24, 'height': 24, 'alt': '120' }, '120'],
    [{ 'src': require('../media/oled_icons/121.png'), 'width': 24, 'height': 24, 'alt': '121' }, '121'],
    [{ 'src': require('../media/oled_icons/122.png'), 'width': 24, 'height': 24, 'alt': '122' }, '122'],
    [{ 'src': require('../media/oled_icons/123.png'), 'width': 24, 'height': 24, 'alt': '123' }, '123'],
    [{ 'src': require('../media/oled_icons/124.png'), 'width': 24, 'height': 24, 'alt': '124' }, '124'],
    [{ 'src': require('../media/oled_icons/125.png'), 'width': 24, 'height': 24, 'alt': '125' }, '125'],
    [{ 'src': require('../media/oled_icons/126.png'), 'width': 24, 'height': 24, 'alt': '126' }, '126'],
    [{ 'src': require('../media/oled_icons/127.png'), 'width': 24, 'height': 24, 'alt': '127' }, '127'],
    [{ 'src': require('../media/oled_icons/128.png'), 'width': 24, 'height': 24, 'alt': '128' }, '128'],
    [{ 'src': require('../media/oled_icons/129.png'), 'width': 24, 'height': 24, 'alt': '129' }, '129'],
    [{ 'src': require('../media/oled_icons/130.png'), 'width': 24, 'height': 24, 'alt': '130' }, '130'],
    [{ 'src': require('../media/oled_icons/131.png'), 'width': 24, 'height': 24, 'alt': '131' }, '131'],
    [{ 'src': require('../media/oled_icons/132.png'), 'width': 24, 'height': 24, 'alt': '132' }, '132'],
    [{ 'src': require('../media/oled_icons/133.png'), 'width': 24, 'height': 24, 'alt': '133' }, '133'],
    [{ 'src': require('../media/oled_icons/134.png'), 'width': 24, 'height': 24, 'alt': '134' }, '134'],
    [{ 'src': require('../media/oled_icons/135.png'), 'width': 24, 'height': 24, 'alt': '135' }, '135'],
    [{ 'src': require('../media/oled_icons/136.png'), 'width': 24, 'height': 24, 'alt': '136' }, '136'],
    [{ 'src': require('../media/oled_icons/137.png'), 'width': 24, 'height': 24, 'alt': '137' }, '137'],
    [{ 'src': require('../media/oled_icons/138.png'), 'width': 24, 'height': 24, 'alt': '138' }, '138'],
    [{ 'src': require('../media/oled_icons/139.png'), 'width': 24, 'height': 24, 'alt': '139' }, '139'],
    [{ 'src': require('../media/oled_icons/140.png'), 'width': 24, 'height': 24, 'alt': '140' }, '140'],
    [{ 'src': require('../media/oled_icons/141.png'), 'width': 24, 'height': 24, 'alt': '141' }, '141'],
    [{ 'src': require('../media/oled_icons/142.png'), 'width': 24, 'height': 24, 'alt': '142' }, '142'],
    [{ 'src': require('../media/oled_icons/143.png'), 'width': 24, 'height': 24, 'alt': '143' }, '143'],
    [{ 'src': require('../media/oled_icons/144.png'), 'width': 24, 'height': 24, 'alt': '144' }, '144'],
    [{ 'src': require('../media/oled_icons/145.png'), 'width': 24, 'height': 24, 'alt': '145' }, '145'],
    [{ 'src': require('../media/oled_icons/146.png'), 'width': 24, 'height': 24, 'alt': '146' }, '146'],
    [{ 'src': require('../media/oled_icons/147.png'), 'width': 24, 'height': 24, 'alt': '147' }, '147'],
    [{ 'src': require('../media/oled_icons/148.png'), 'width': 24, 'height': 24, 'alt': '148' }, '148'],
    [{ 'src': require('../media/oled_icons/149.png'), 'width': 24, 'height': 24, 'alt': '149' }, '149'],
    [{ 'src': require('../media/oled_icons/150.png'), 'width': 24, 'height': 24, 'alt': '150' }, '150'],
    [{ 'src': require('../media/oled_icons/151.png'), 'width': 24, 'height': 24, 'alt': '151' }, '151'],
    [{ 'src': require('../media/oled_icons/152.png'), 'width': 24, 'height': 24, 'alt': '152' }, '152'],
    [{ 'src': require('../media/oled_icons/153.png'), 'width': 24, 'height': 24, 'alt': '153' }, '153'],
    [{ 'src': require('../media/oled_icons/154.png'), 'width': 24, 'height': 24, 'alt': '154' }, '154'],
    [{ 'src': require('../media/oled_icons/155.png'), 'width': 24, 'height': 24, 'alt': '155' }, '155'],
    [{ 'src': require('../media/oled_icons/156.png'), 'width': 24, 'height': 24, 'alt': '156' }, '156'],
    [{ 'src': require('../media/oled_icons/157.png'), 'width': 24, 'height': 24, 'alt': '157' }, '157'],
    [{ 'src': require('../media/oled_icons/158.png'), 'width': 24, 'height': 24, 'alt': '158' }, '158'],
    [{ 'src': require('../media/oled_icons/159.png'), 'width': 24, 'height': 24, 'alt': '159' }, '159'],
    [{ 'src': require('../media/oled_icons/160.png'), 'width': 24, 'height': 24, 'alt': '160' }, '160'],
    [{ 'src': require('../media/oled_icons/161.png'), 'width': 24, 'height': 24, 'alt': '161' }, '161'],
    [{ 'src': require('../media/oled_icons/162.png'), 'width': 24, 'height': 24, 'alt': '162' }, '162'],
    [{ 'src': require('../media/oled_icons/163.png'), 'width': 24, 'height': 24, 'alt': '163' }, '163'],
    [{ 'src': require('../media/oled_icons/164.png'), 'width': 24, 'height': 24, 'alt': '164' }, '164'],
    [{ 'src': require('../media/oled_icons/165.png'), 'width': 24, 'height': 24, 'alt': '165' }, '165'],
    [{ 'src': require('../media/oled_icons/166.png'), 'width': 24, 'height': 24, 'alt': '166' }, '166'],
    [{ 'src': require('../media/oled_icons/167.png'), 'width': 24, 'height': 24, 'alt': '167' }, '167'],
    [{ 'src': require('../media/oled_icons/168.png'), 'width': 24, 'height': 24, 'alt': '168' }, '168'],
    [{ 'src': require('../media/oled_icons/169.png'), 'width': 24, 'height': 24, 'alt': '169' }, '169'],
    [{ 'src': require('../media/oled_icons/170.png'), 'width': 24, 'height': 24, 'alt': '170' }, '170'],
    [{ 'src': require('../media/oled_icons/171.png'), 'width': 24, 'height': 24, 'alt': '171' }, '171'],
    [{ 'src': require('../media/oled_icons/172.png'), 'width': 24, 'height': 24, 'alt': '172' }, '172'],
    [{ 'src': require('../media/oled_icons/173.png'), 'width': 24, 'height': 24, 'alt': '173' }, '173'],
    [{ 'src': require('../media/oled_icons/174.png'), 'width': 24, 'height': 24, 'alt': '174' }, '174'],
    [{ 'src': require('../media/oled_icons/175.png'), 'width': 24, 'height': 24, 'alt': '175' }, '175'],
    [{ 'src': require('../media/oled_icons/176.png'), 'width': 24, 'height': 24, 'alt': '176' }, '176'],
    [{ 'src': require('../media/oled_icons/177.png'), 'width': 24, 'height': 24, 'alt': '177' }, '177'],
    [{ 'src': require('../media/oled_icons/178.png'), 'width': 24, 'height': 24, 'alt': '178' }, '178'],
    [{ 'src': require('../media/oled_icons/179.png'), 'width': 24, 'height': 24, 'alt': '179' }, '179'],
    [{ 'src': require('../media/oled_icons/180.png'), 'width': 24, 'height': 24, 'alt': '180' }, '180'],
    [{ 'src': require('../media/oled_icons/181.png'), 'width': 24, 'height': 24, 'alt': '181' }, '181'],
    [{ 'src': require('../media/oled_icons/182.png'), 'width': 24, 'height': 24, 'alt': '182' }, '182'],
    [{ 'src': require('../media/oled_icons/183.png'), 'width': 24, 'height': 24, 'alt': '183' }, '183'],
    [{ 'src': require('../media/oled_icons/184.png'), 'width': 24, 'height': 24, 'alt': '184' }, '184'],
    [{ 'src': require('../media/oled_icons/185.png'), 'width': 24, 'height': 24, 'alt': '185' }, '185'],
    [{ 'src': require('../media/oled_icons/186.png'), 'width': 24, 'height': 24, 'alt': '186' }, '186'],
    [{ 'src': require('../media/oled_icons/187.png'), 'width': 24, 'height': 24, 'alt': '187' }, '187'],
    [{ 'src': require('../media/oled_icons/188.png'), 'width': 24, 'height': 24, 'alt': '188' }, '188'],
    [{ 'src': require('../media/oled_icons/189.png'), 'width': 24, 'height': 24, 'alt': '189' }, '189'],
    [{ 'src': require('../media/oled_icons/190.png'), 'width': 24, 'height': 24, 'alt': '190' }, '190'],
    [{ 'src': require('../media/oled_icons/191.png'), 'width': 24, 'height': 24, 'alt': '191' }, '191'],
    [{ 'src': require('../media/oled_icons/192.png'), 'width': 24, 'height': 24, 'alt': '192' }, '192'],
    [{ 'src': require('../media/oled_icons/193.png'), 'width': 24, 'height': 24, 'alt': '193' }, '193'],
    [{ 'src': require('../media/oled_icons/194.png'), 'width': 24, 'height': 24, 'alt': '194' }, '194'],
    [{ 'src': require('../media/oled_icons/195.png'), 'width': 24, 'height': 24, 'alt': '195' }, '195'],
    [{ 'src': require('../media/oled_icons/196.png'), 'width': 24, 'height': 24, 'alt': '196' }, '196'],
    [{ 'src': require('../media/oled_icons/197.png'), 'width': 24, 'height': 24, 'alt': '197' }, '197'],
    [{ 'src': require('../media/oled_icons/198.png'), 'width': 24, 'height': 24, 'alt': '198' }, '198'],
    [{ 'src': require('../media/oled_icons/199.png'), 'width': 24, 'height': 24, 'alt': '199' }, '199'],
    [{ 'src': require('../media/oled_icons/200.png'), 'width': 24, 'height': 24, 'alt': '200' }, '200'],
    [{ 'src': require('../media/oled_icons/201.png'), 'width': 24, 'height': 24, 'alt': '201' }, '201'],
    [{ 'src': require('../media/oled_icons/202.png'), 'width': 24, 'height': 24, 'alt': '202' }, '202'],
    [{ 'src': require('../media/oled_icons/203.png'), 'width': 24, 'height': 24, 'alt': '203' }, '203'],
    [{ 'src': require('../media/oled_icons/204.png'), 'width': 24, 'height': 24, 'alt': '204' }, '204'],
    [{ 'src': require('../media/oled_icons/205.png'), 'width': 24, 'height': 24, 'alt': '205' }, '205'],
    [{ 'src': require('../media/oled_icons/206.png'), 'width': 24, 'height': 24, 'alt': '206' }, '206'],
    [{ 'src': require('../media/oled_icons/207.png'), 'width': 24, 'height': 24, 'alt': '207' }, '207'],
    [{ 'src': require('../media/oled_icons/208.png'), 'width': 24, 'height': 24, 'alt': '208' }, '208'],
    [{ 'src': require('../media/oled_icons/209.png'), 'width': 24, 'height': 24, 'alt': '209' }, '209'],
    [{ 'src': require('../media/oled_icons/210.png'), 'width': 24, 'height': 24, 'alt': '210' }, '210'],
    [{ 'src': require('../media/oled_icons/211.png'), 'width': 24, 'height': 24, 'alt': '211' }, '211'],
    [{ 'src': require('../media/oled_icons/212.png'), 'width': 24, 'height': 24, 'alt': '212' }, '212'],
    [{ 'src': require('../media/oled_icons/213.png'), 'width': 24, 'height': 24, 'alt': '213' }, '213'],
    [{ 'src': require('../media/oled_icons/214.png'), 'width': 24, 'height': 24, 'alt': '214' }, '214'],
    [{ 'src': require('../media/oled_icons/215.png'), 'width': 24, 'height': 24, 'alt': '215' }, '215'],
    [{ 'src': require('../media/oled_icons/216.png'), 'width': 24, 'height': 24, 'alt': '216' }, '216'],
    [{ 'src': require('../media/oled_icons/217.png'), 'width': 24, 'height': 24, 'alt': '217' }, '217'],
    [{ 'src': require('../media/oled_icons/218.png'), 'width': 24, 'height': 24, 'alt': '218' }, '218'],
    [{ 'src': require('../media/oled_icons/219.png'), 'width': 24, 'height': 24, 'alt': '219' }, '219'],
    [{ 'src': require('../media/oled_icons/220.png'), 'width': 24, 'height': 24, 'alt': '220' }, '220'],
    [{ 'src': require('../media/oled_icons/221.png'), 'width': 24, 'height': 24, 'alt': '221' }, '221'],
    [{ 'src': require('../media/oled_icons/222.png'), 'width': 24, 'height': 24, 'alt': '222' }, '222'],
    [{ 'src': require('../media/oled_icons/223.png'), 'width': 24, 'height': 24, 'alt': '223' }, '223'],
    [{ 'src': require('../media/oled_icons/224.png'), 'width': 24, 'height': 24, 'alt': '224' }, '224'],
    [{ 'src': require('../media/oled_icons/225.png'), 'width': 24, 'height': 24, 'alt': '225' }, '225'],
    [{ 'src': require('../media/oled_icons/226.png'), 'width': 24, 'height': 24, 'alt': '226' }, '226'],
    [{ 'src': require('../media/oled_icons/227.png'), 'width': 24, 'height': 24, 'alt': '227' }, '227'],
    [{ 'src': require('../media/oled_icons/228.png'), 'width': 24, 'height': 24, 'alt': '228' }, '228'],
    [{ 'src': require('../media/oled_icons/229.png'), 'width': 24, 'height': 24, 'alt': '229' }, '229'],
    [{ 'src': require('../media/oled_icons/230.png'), 'width': 24, 'height': 24, 'alt': '230' }, '230'],
    [{ 'src': require('../media/oled_icons/231.png'), 'width': 24, 'height': 24, 'alt': '231' }, '231'],
    [{ 'src': require('../media/oled_icons/232.png'), 'width': 24, 'height': 24, 'alt': '232' }, '232'],
    [{ 'src': require('../media/oled_icons/233.png'), 'width': 24, 'height': 24, 'alt': '233' }, '233'],
    [{ 'src': require('../media/oled_icons/234.png'), 'width': 24, 'height': 24, 'alt': '234' }, '234'],
    [{ 'src': require('../media/oled_icons/235.png'), 'width': 24, 'height': 24, 'alt': '235' }, '235'],
    [{ 'src': require('../media/oled_icons/236.png'), 'width': 24, 'height': 24, 'alt': '236' }, '236'],
    [{ 'src': require('../media/oled_icons/237.png'), 'width': 24, 'height': 24, 'alt': '237' }, '237'],
    [{ 'src': require('../media/oled_icons/238.png'), 'width': 24, 'height': 24, 'alt': '238' }, '238'],
    [{ 'src': require('../media/oled_icons/239.png'), 'width': 24, 'height': 24, 'alt': '239' }, '239'],
    [{ 'src': require('../media/oled_icons/240.png'), 'width': 24, 'height': 24, 'alt': '240' }, '240'],
    [{ 'src': require('../media/oled_icons/241.png'), 'width': 24, 'height': 24, 'alt': '241' }, '241'],
    [{ 'src': require('../media/oled_icons/242.png'), 'width': 24, 'height': 24, 'alt': '242' }, '242'],
    [{ 'src': require('../media/oled_icons/243.png'), 'width': 24, 'height': 24, 'alt': '243' }, '243'],
    [{ 'src': require('../media/oled_icons/244.png'), 'width': 24, 'height': 24, 'alt': '244' }, '244'],
    [{ 'src': require('../media/oled_icons/245.png'), 'width': 24, 'height': 24, 'alt': '245' }, '245'],
    [{ 'src': require('../media/oled_icons/246.png'), 'width': 24, 'height': 24, 'alt': '246' }, '246'],
    [{ 'src': require('../media/oled_icons/247.png'), 'width': 24, 'height': 24, 'alt': '247' }, '247'],
    [{ 'src': require('../media/oled_icons/248.png'), 'width': 24, 'height': 24, 'alt': '248' }, '248'],
    [{ 'src': require('../media/oled_icons/249.png'), 'width': 24, 'height': 24, 'alt': '249' }, '249'],
    [{ 'src': require('../media/oled_icons/250.png'), 'width': 24, 'height': 24, 'alt': '250' }, '250'],
    [{ 'src': require('../media/oled_icons/251.png'), 'width': 24, 'height': 24, 'alt': '251' }, '251'],
    [{ 'src': require('../media/oled_icons/252.png'), 'width': 24, 'height': 24, 'alt': '252' }, '252'],
    [{ 'src': require('../media/oled_icons/253.png'), 'width': 24, 'height': 24, 'alt': '253' }, '253'],
    [{ 'src': require('../media/oled_icons/254.png'), 'width': 24, 'height': 24, 'alt': '254' }, '254'],
    [{ 'src': require('../media/oled_icons/255.png'), 'width': 24, 'height': 24, 'alt': '255' }, '255'],
    [{ 'src': require('../media/oled_icons/256.png'), 'width': 24, 'height': 24, 'alt': '256' }, '256'],
    [{ 'src': require('../media/oled_icons/257.png'), 'width': 24, 'height': 24, 'alt': '257' }, '257'],
    [{ 'src': require('../media/oled_icons/258.png'), 'width': 24, 'height': 24, 'alt': '258' }, '258'],
    [{ 'src': require('../media/oled_icons/259.png'), 'width': 24, 'height': 24, 'alt': '259' }, '259'],
    [{ 'src': require('../media/oled_icons/260.png'), 'width': 24, 'height': 24, 'alt': '260' }, '260'],
    [{ 'src': require('../media/oled_icons/261.png'), 'width': 24, 'height': 24, 'alt': '261' }, '261'],
    [{ 'src': require('../media/oled_icons/262.png'), 'width': 24, 'height': 24, 'alt': '262' }, '262'],
    [{ 'src': require('../media/oled_icons/263.png'), 'width': 24, 'height': 24, 'alt': '263' }, '263'],
    [{ 'src': require('../media/oled_icons/264.png'), 'width': 24, 'height': 24, 'alt': '264' }, '264'],
    [{ 'src': require('../media/oled_icons/265.png'), 'width': 24, 'height': 24, 'alt': '265' }, '265'],
    [{ 'src': require('../media/oled_icons/266.png'), 'width': 24, 'height': 24, 'alt': '266' }, '266'],
    [{ 'src': require('../media/oled_icons/267.png'), 'width': 24, 'height': 24, 'alt': '267' }, '267'],
    [{ 'src': require('../media/oled_icons/268.png'), 'width': 24, 'height': 24, 'alt': '268' }, '268'],
    [{ 'src': require('../media/oled_icons/269.png'), 'width': 24, 'height': 24, 'alt': '269' }, '269'],
    [{ 'src': require('../media/oled_icons/270.png'), 'width': 24, 'height': 24, 'alt': '270' }, '270'],
    [{ 'src': require('../media/oled_icons/271.png'), 'width': 24, 'height': 24, 'alt': '271' }, '271'],
    [{ 'src': require('../media/oled_icons/272.png'), 'width': 24, 'height': 24, 'alt': '272' }, '272'],
    [{ 'src': require('../media/oled_icons/273.png'), 'width': 24, 'height': 24, 'alt': '273' }, '273'],
    [{ 'src': require('../media/oled_icons/274.png'), 'width': 24, 'height': 24, 'alt': '274' }, '274'],
    [{ 'src': require('../media/oled_icons/275.png'), 'width': 24, 'height': 24, 'alt': '275' }, '275'],
    [{ 'src': require('../media/oled_icons/276.png'), 'width': 24, 'height': 24, 'alt': '276' }, '276'],
    [{ 'src': require('../media/oled_icons/277.png'), 'width': 24, 'height': 24, 'alt': '277' }, '277'],
    [{ 'src': require('../media/oled_icons/278.png'), 'width': 24, 'height': 24, 'alt': '278' }, '278'],
    [{ 'src': require('../media/oled_icons/279.png'), 'width': 24, 'height': 24, 'alt': '279' }, '279'],
    [{ 'src': require('../media/oled_icons/280.png'), 'width': 24, 'height': 24, 'alt': '280' }, '280'],
    [{ 'src': require('../media/oled_icons/281.png'), 'width': 24, 'height': 24, 'alt': '281' }, '281'],
    [{ 'src': require('../media/oled_icons/282.png'), 'width': 24, 'height': 24, 'alt': '282' }, '282'],
    [{ 'src': require('../media/oled_icons/283.png'), 'width': 24, 'height': 24, 'alt': '283' }, '283'],
    [{ 'src': require('../media/oled_icons/284.png'), 'width': 24, 'height': 24, 'alt': '284' }, '284'],
    [{ 'src': require('../media/oled_icons/285.png'), 'width': 24, 'height': 24, 'alt': '285' }, '285'],
    [{ 'src': require('../media/oled_icons/286.png'), 'width': 24, 'height': 24, 'alt': '286' }, '286']
];

// 0.96OLED显示-设置图标
export const yf_oled_icons = {
    init: function () {
        this.setColour(yfrobotColor_dis);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.DISPLAY)
            .appendField(new Blockly.FieldTextInput("u8g2"), "NAME")
            .appendField(Blockly.Msg.OLED_BITMAP);
        this.appendValueInput("POS_X", Number)
            .appendField(Blockly.Msg.OLED_START_X)
            .setCheck(Number);
        this.appendValueInput("POS_Y", Number)
            .appendField(Blockly.Msg.OLED_START_Y)
            .setCheck(Number);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_MICROBIT_JS_NUMBER)
            .appendField(new Blockly.FieldDropdown(ICON_SIZE), "ICON_SIZE")
            .appendField("px");
        this.appendDummyInput()
            .appendField(Blockly.Msg.OLED_ICON)
            .appendField(new Blockly.FieldDropdown(ICON_IMAGE), 'ICON_IMAGE');
        this.setInputsInline(true);
        this.setPreviousStatement(true);
        this.setNextStatement(true);
        this.setTooltip(Blockly.oled_setFont_tooltip);
    }
};

var FACE_IMAGE = [
    [{ 'src': require('../media/oled_icons/face/Eyes/Angry.png'), 'width': 35, 'height': 25, 'alt': 'Angry' }, 'Angry,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x78,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xF8,0x01,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xF8,0x07,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x38,0x00,0xB8,0x1F,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x3E,0x00,0x38,0x7F,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x80,0x3F,0x00,0x38,0xFC,0x01,0x00,0xE0,0x00,0x0C,0x00,0x00,0xE0,0x3F,0x00,0x38,0xF0,0x07,0x00,0xE0,0x00,0x0C,0x00,0x00,0xF8,0x31,0x00,0x38,0xC0,0x1F,0x00,0xE0,0x00,0x0C,0x00,0x00,0x7E,0x30,0x00,0x38,0x00,0x7F,0x00,0xE0,0x00,0x0C,0x00,0x80,0x1F,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x00,0xE0,0x07,0x30,0x00,0x38,0x00,0xF0,0x07,0xE0,0x00,0x0C,0x00,0xF8,0x01,0x30,0x00,0x38,0x00,0xE0,0x1F,0xE0,0x00,0x0C,0x00,0xFE,0x00,0x30,0x00,0x38,0x00,0xF0,0x7F,0xE0,0x00,0x0C,0x80,0x3F,0x00,0x30,0x00,0x38,0x00,0xF8,0xFF,0xE1,0x00,0x0C,0xE0,0x6F,0x01,0x30,0x00,0x38,0x00,0xFC,0xF9,0xE7,0x00,0x0C,0xF8,0x4F,0x00,0x30,0x00,0x38,0x00,0xFD,0xDD,0xFF,0x00,0x0C,0xFE,0xF7,0x00,0x30,0x00,0x38,0x00,0xFE,0x3F,0xFF,0x00,0x8C,0xFF,0xFF,0x02,0x30,0x00,0x38,0x00,0xFE,0x3F,0xFC,0x00,0xFC,0xFF,0xFF,0x00,0x30,0x00,0x38,0x00,0xFE,0x3F,0xF0,0x00,0xFC,0xF5,0xFF,0x02,0x30,0x00,0x38,0x00,0xFC,0x1F,0xE0,0x00,0x7C,0xF0,0xFF,0x00,0x30,0x00,0x38,0x00,0xFD,0x5F,0xE0,0x00,0x1C,0xE0,0x7F,0x00,0x38,0x00,0x70,0x00,0xF8,0x0F,0x70,0x00,0x1C,0xE8,0x7F,0x01,0x38,0x00,0x70,0x00,0xF0,0x07,0x70,0x00,0x3C,0xC0,0x3F,0x00,0x3C,0x00,0xF0,0x00,0xC0,0x01,0x78,0x00,0x38,0x20,0x4F,0x00,0x1C,0x00,0xE0,0x01,0x20,0x04,0x3C,0x00,0x78,0x80,0x10,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00'],
    [{ 'src': require('../media/oled_icons/face/Eyes/Awake.png'), 'width': 35, 'height': 25, 'alt': 'Awake' }, 'Awake,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xF8,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x3E,0x00,0xF8,0x1F,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0xE0,0x3F,0x00,0xF8,0xFF,0x03,0x00,0xE0,0x00,0x0C,0x00,0x80,0xFF,0x3F,0x00,0x38,0xF8,0xFF,0x00,0xE0,0x00,0x0C,0x00,0xFC,0x7F,0x30,0x00,0x38,0x00,0xFF,0x0F,0xE0,0x00,0x0C,0xE0,0xFF,0x03,0x30,0x00,0x38,0x00,0xFC,0xFF,0xE1,0x00,0x0C,0xFE,0x7F,0x00,0x30,0x00,0x38,0x80,0xFE,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0x00,0x30,0x00,0x38,0x00,0x7E,0x96,0xFF,0x00,0xFC,0x87,0xBF,0x05,0x30,0x00,0x38,0x40,0x7F,0x16,0xF0,0x00,0x3C,0xC0,0x9F,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x40,0xFF,0x17,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x00,0xFF,0x03,0xE0,0x00,0x0C,0xA0,0xFF,0x05,0x30,0x00,0x38,0x80,0xFE,0x0B,0xE0,0x00,0x0C,0x00,0xFF,0x00,0x30,0x00,0x38,0x00,0xF8,0x00,0xE0,0x00,0x0C,0x00,0x7E,0x00,0x30,0x00,0x38,0x00,0x02,0x02,0xE0,0x00,0x0C,0x00,0x81,0x00,0x30,0x00,0x38,0x00,0x50,0x00,0xE0,0x00,0x0C,0x00,0x14,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00'],
    [{ 'src': require('../media/oled_icons/face/Eyes/Black eye.png'), 'width': 35, 'height': 25, 'alt': 'Black_eye' }, 'Black_eye,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xF8,0xFF,0x7F,0x00,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x5F,0x55,0xD5,0x1F,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x4B,0xAA,0xA4,0x3E,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0xE0,0xB5,0x55,0x5B,0x3D,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0xF0,0x4A,0xAA,0xA4,0x7A,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0xF0,0xB6,0x55,0x5B,0x75,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x78,0x49,0xAA,0x24,0xF5,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xB8,0xB6,0x55,0xDB,0xEA,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x78,0x49,0xAA,0x24,0xF5,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xB8,0xB6,0x55,0xDB,0xEA,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x49,0xAA,0x24,0xF5,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xF8,0xB6,0x55,0xDB,0xEA,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x49,0xAA,0x24,0xE9,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0x0C,0x00,0x42,0x00,0x30,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0x0C,0x80,0x1C,0x01,0x30,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0x0C,0x00,0xFE,0x00,0x30,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x0C,0xA0,0xBF,0x05,0x30,0x00,0x38,0x00,0x7F,0x06,0xE0,0x00,0x0C,0x80,0x3F,0x01,0x30,0x00,0x38,0x40,0x7F,0x17,0xE0,0x00,0x0C,0xC0,0xDF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x40,0xFF,0x17,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0x80,0xFF,0x01,0x30,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0x0C,0xA0,0xFF,0x05,0x30,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0x0C,0x00,0xFF,0x00,0x30,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0x0C,0x80,0x3C,0x01,0x30,0x00,0xB8,0xAA,0xAA,0xAA,0xEA,0x00,0x0C,0x00,0x42,0x00,0x30,0x00,0xB8,0x2A,0x49,0xAA,0xEA,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x78,0xD5,0xB6,0x55,0xF5,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xB8,0x2A,0x49,0xAA,0xEA,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xF8,0xD2,0xB6,0x55,0xF5,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x70,0x2D,0x49,0xAA,0x75,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xF0,0xD2,0xB6,0x55,0x7A,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0xE0,0x2D,0x49,0xAA,0x3D,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0xE0,0xD3,0xB6,0x55,0x3E,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xC0,0x2F,0x49,0xD2,0x1F,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00'],
    [{ 'src': require('../media/oled_icons/face/Eyes/Bottom left.png'), 'width': 35, 'height': 25, 'alt': 'Bottom_left' }, 'Bottom_left,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x40,0x01,0x00,0xE0,0x00,0x0C,0xA0,0x00,0x00,0x30,0x00,0x38,0x08,0x08,0x00,0xE0,0x00,0x0C,0x04,0x02,0x00,0x30,0x00,0x38,0xE0,0x13,0x00,0xE0,0x00,0x0C,0xF8,0x01,0x00,0x30,0x00,0x38,0xFA,0x0F,0x00,0xE0,0x00,0x0C,0xFC,0x03,0x00,0x30,0x00,0x38,0xF8,0x19,0x00,0xE0,0x00,0x8C,0xFE,0x16,0x00,0x30,0x00,0x38,0xFD,0x59,0x00,0xE0,0x00,0x0C,0x7F,0x0E,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x0C,0xFF,0x0F,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x4C,0xFF,0x2F,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x0C,0xFF,0x0F,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x4C,0xFF,0x2F,0x00,0x30,0x00,0x38,0xFD,0x5F,0x00,0xE0,0x00,0x0C,0xFF,0x0F,0x00,0x30,0x00,0x38,0xFC,0x0F,0x00,0xE0,0x00,0x8C,0xFE,0x17,0x00,0x30,0x00,0x38,0xFA,0x2F,0x00,0xE0,0x00,0x0C,0xFC,0x03,0x00,0x30,0x00,0x38,0xE0,0x03,0x00,0xE0,0x00,0x0C,0xF8,0x01,0x00,0x30,0x00,0x38,0x08,0x08,0x00,0xE0,0x00,0x1C,0x04,0x02,0x00,0x38,0x00,0x70,0x40,0x01,0x00,0x70,0x00,0x1C,0x50,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,'],
    [{ 'src': require('../media/oled_icons/face/Eyes/Bottom right.png'), 'width': 35, 'height': 25, 'alt': 'Bottom_right' }, 'Bottom_right,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x14,0xE0,0x00,0x0C,0x00,0x00,0x0A,0x30,0x00,0x38,0x00,0x80,0x80,0xE0,0x00,0x0C,0x00,0x40,0x20,0x30,0x00,0x38,0x00,0x00,0x3E,0xE1,0x00,0x0C,0x00,0x80,0x1F,0x30,0x00,0x38,0x00,0xA0,0xFF,0xE0,0x00,0x0C,0x00,0xC0,0x3F,0x30,0x00,0x38,0x00,0x80,0x9F,0xE1,0x00,0x0C,0x00,0xE8,0x6F,0x31,0x00,0x38,0x00,0xD0,0x9F,0xE5,0x00,0x0C,0x00,0xF0,0xE7,0x30,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF0,0xFF,0x30,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF4,0xFF,0x32,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF0,0xFF,0x30,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF4,0xFF,0x32,0x00,0x38,0x00,0xD0,0xFF,0xE5,0x00,0x0C,0x00,0xF0,0xFF,0x30,0x00,0x38,0x00,0xC0,0xFF,0xE0,0x00,0x0C,0x00,0xE8,0x7F,0x31,0x00,0x38,0x00,0xA0,0xFF,0xE2,0x00,0x0C,0x00,0xC0,0x3F,0x30,0x00,0x38,0x00,0x00,0x3E,0xE0,0x00,0x0C,0x00,0x80,0x1F,0x30,0x00,0x38,0x00,0x80,0x80,0xE0,0x00,0x1C,0x00,0x40,0x20,0x38,0x00,0x70,0x00,0x00,0x14,0x70,0x00,0x1C,0x00,0x00,0x05,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00'],
    [{ 'src': require('../media/oled_icons/face/Eyes/Crazy 1.png'), 'width': 35, 'height': 25, 'alt': 'Crazy_1' }, 'Crazy_1,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x14,0xE0,0x00,0x0C,0x00,0x00,0x0A,0x30,0x00,0x38,0x00,0x80,0x80,0xE0,0x00,0x0C,0x00,0x40,0x20,0x30,0x00,0x38,0x00,0x00,0x3E,0xE1,0x00,0x0C,0x00,0x80,0x1F,0x30,0x00,0x38,0x00,0xA0,0xFF,0xE0,0x00,0x0C,0x00,0xC0,0x3F,0x30,0x00,0x38,0x00,0x80,0x9F,0xE1,0x00,0x0C,0x00,0xE8,0x6F,0x31,0x00,0x38,0x00,0xD0,0x9F,0xE5,0x00,0x0C,0x00,0xF0,0xE7,0x30,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF0,0xFF,0x30,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF4,0xFF,0x32,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF0,0xFF,0x30,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF4,0xFF,0x32,0x00,0x38,0x00,0xD0,0xFF,0xE5,0x00,0x0C,0x00,0xF0,0xFF,0x30,0x00,0x38,0x00,0xC0,0xFF,0xE0,0x00,0x0C,0x00,0xE8,0x7F,0x31,0x00,0x38,0x00,0xA0,0xFF,0xE2,0x00,0x0C,0x00,0xC0,0x3F,0x30,0x00,0x38,0x00,0x00,0x3E,0xE0,0x00,0x0C,0x00,0x80,0x1F,0x30,0x00,0x38,0x00,0x80,0x80,0xE0,0x00,0x1C,0x00,0x40,0x20,0x38,0x00,0x70,0x00,0x00,0x14,0x70,0x00,0x1C,0x00,0x00,0x05,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00'],
    [{ 'src': require('../media/oled_icons/face/Eyes/Crazy 2.png'), 'width': 35, 'height': 25, 'alt': 'Crazy_2' }, 'Crazy_2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x20,0x04,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xC8,0x11,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xE0,0x0F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xFA,0x5B,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xF8,0x13,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xFC,0x3D,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xFD,0xBF,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xFC,0x3F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xFD,0xBF,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xFC,0x3F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xF8,0x1F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xFA,0x5F,0x30,0x00,0x38,0x00,0x05,0x00,0xE0,0x00,0x0C,0x00,0xF0,0x0F,0x30,0x00,0x38,0x20,0x20,0x00,0xE0,0x00,0x0C,0x00,0xC8,0x13,0x30,0x00,0x38,0x80,0x4F,0x00,0xE0,0x00,0x0C,0x00,0x20,0x04,0x30,0x00,0x38,0xE8,0x3F,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0xE0,0x67,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0xF4,0x67,0x01,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0xF8,0xFF,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0xF8,0xFF,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0xF8,0xFF,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0xF8,0xFF,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0xF4,0x7F,0x01,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0xF0,0x3F,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0xE8,0xBF,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x80,0x0F,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x20,0x20,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x05,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00'],
    [{ 'src': require('../media/oled_icons/face/Eyes/Disappointed.png'), 'width': 35, 'height': 25, 'alt': 'Disappointed' }, 'Disappointed,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0xF8,0x1F,0x00,0xE0,0x3F,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x7C,0x3C,0x00,0xF0,0x78,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x3E,0x38,0x00,0x78,0xF0,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x1F,0x70,0x00,0x38,0xE0,0x01,0x00,0x1C,0x00,0x70,0x00,0x80,0x0F,0x70,0x00,0x1C,0xC0,0x03,0x00,0x38,0x00,0x38,0x00,0xC0,0x07,0xE0,0x00,0x1C,0x80,0x07,0x00,0x38,0x00,0x38,0x00,0xE0,0x03,0xE0,0x00,0x1C,0x00,0x0F,0x00,0x38,0x00,0x38,0x00,0xF0,0x01,0xE0,0x00,0x0C,0x00,0x1E,0x00,0x30,0x00,0x38,0x00,0xF8,0x00,0xE0,0x00,0x0C,0x00,0x3C,0x00,0x30,0x00,0x38,0x00,0x7C,0x00,0xE0,0x00,0x0C,0x00,0x78,0x00,0x30,0x00,0x38,0x00,0x3E,0x02,0xE0,0x00,0x0C,0x00,0xF9,0x00,0x30,0x00,0x38,0x00,0xFF,0x04,0xE0,0x00,0x0C,0x00,0xFE,0x01,0x30,0x00,0x38,0x80,0xFF,0x03,0xE0,0x00,0x0C,0x00,0xFF,0x03,0x30,0x00,0x38,0xC0,0x7F,0x06,0xE0,0x00,0x0C,0xA0,0xBF,0x07,0x30,0x00,0x38,0xE0,0x7F,0x16,0xE0,0x00,0x0C,0xC0,0x9F,0x0F,0x30,0x00,0x38,0xF0,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x1F,0x30,0x00,0x38,0xF8,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x3F,0x30,0x00,0x38,0xFC,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x7B,0x30,0x00,0x38,0xBE,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0xFB,0x30,0x00,0x38,0x5F,0xFF,0x17,0xE0,0x00,0x0C,0xC0,0xFF,0xE3,0x31,0x00,0xB8,0x0F,0xFF,0x03,0xE0,0x00,0x0C,0xA0,0xFF,0xC5,0x33,0x00,0xF8,0x87,0xFE,0x0B,0xE0,0x00,0x0C,0x00,0xFF,0x80,0x3F,0x00,0xF8,0x03,0xF8,0x00,0xE0,0x00,0x0C,0x00,0x7E,0x00,0x3F,0x00,0xF8,0x01,0x02,0x02,0xE0,0x00,0x0C,0x00,0x81,0x00,0x3E,0x00,0xF8,0x00,0x50,0x00,0xE0,0x00,0x0C,0x00,0x14,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00'],
    [{ 'src': require('../media/oled_icons/face/Eyes/Dizzy.png'), 'width': 35, 'height': 25, 'alt': 'Dizzy' }, 'Dizzy,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x0C,0x00,0xE0,0x00,0x0C,0x00,0x03,0x00,0x30,0x00,0x38,0x00,0x0F,0x00,0xE0,0x00,0x0C,0xC0,0x03,0x00,0x30,0x00,0x38,0x80,0x03,0x00,0xE0,0x00,0x0C,0xE0,0x00,0x00,0x30,0x00,0x38,0xC0,0xF9,0x07,0xE0,0x00,0x0C,0x70,0xFE,0x01,0x30,0x00,0x38,0xE0,0x3C,0x1F,0xE0,0x00,0x0C,0x38,0xCF,0x07,0x30,0x00,0x38,0x60,0x06,0x38,0xE0,0x00,0x0C,0x98,0x01,0x0E,0x30,0x00,0x38,0x30,0xE3,0x33,0xE0,0x00,0x0C,0xCC,0xF8,0x0C,0x30,0x00,0x38,0x30,0xF3,0x67,0xE0,0x00,0x0C,0xCC,0xFC,0x19,0x30,0x00,0x38,0xB0,0x19,0x6E,0xE0,0x00,0x0C,0x6C,0x86,0x1B,0x30,0x00,0x38,0xB0,0xD9,0xCC,0xE0,0x00,0x0C,0x6C,0x36,0x33,0x30,0x00,0x38,0xB0,0xD9,0xCD,0xE0,0x00,0x0C,0x6C,0x76,0x33,0x30,0x00,0x38,0xB0,0xF9,0xCD,0xE0,0x00,0x0C,0x6C,0x7E,0x33,0x30,0x00,0x38,0x30,0xF3,0x6C,0xE0,0x00,0x0C,0xCC,0x3C,0x1B,0x30,0x00,0x38,0x70,0x07,0x66,0xE0,0x00,0x0C,0xDC,0x81,0x19,0x30,0x00,0x38,0x60,0x9E,0x77,0xE0,0x00,0x0C,0x98,0xE7,0x1D,0x30,0x00,0x38,0xC0,0xF8,0x31,0xE0,0x00,0x0C,0x30,0x7E,0x0C,0x30,0x00,0x38,0xC0,0x01,0x18,0xE0,0x00,0x0C,0x70,0x00,0x06,0x30,0x00,0x38,0x00,0x0F,0x0E,0xE0,0x00,0x0C,0xC0,0x83,0x03,0x30,0x00,0x38,0x00,0xFE,0x07,0xE0,0x00,0x0C,0x80,0xFF,0x01,0x30,0x00,0x38,0x00,0xF0,0x00,0xE0,0x00,0x0C,0x00,0x3C,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00'],
    [{ 'src': require('../media/oled_icons/face/Eyes/Down.png'), 'width': 35, 'height': 25, 'alt': 'Down' }, 'Down,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x50,0x00,0xE0,0x00,0x0C,0x00,0x14,0x00,0x30,0x00,0x38,0x00,0x02,0x02,0xE0,0x00,0x0C,0x00,0x81,0x00,0x30,0x00,0x38,0x00,0xF9,0x00,0xE0,0x00,0x0C,0x00,0x7E,0x00,0x30,0x00,0x38,0x00,0xFE,0x0B,0xE0,0x00,0x0C,0x00,0xFF,0x00,0x30,0x00,0x38,0x00,0x7F,0x06,0xE0,0x00,0x0C,0xA0,0xBF,0x05,0x30,0x00,0x38,0x40,0x7F,0x16,0xE0,0x00,0x0C,0xC0,0x9F,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x40,0xFF,0x17,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x00,0xFE,0x07,0xE0,0x00,0x1C,0xA0,0xFF,0x05,0x38,0x00,0x70,0x80,0xFE,0x0B,0x70,0x00,0x1C,0x00,0xFF,0x00,0x38,0x00,0x70,0x00,0xF8,0x00,0x70,0x00,0x3C,0x00,0x7E,0x00,0x3C,0x00,0xF0,0x00,0x02,0x02,0x78,0x00,0x38,0x00,0x81,0x00,0x1C,0x00,0xE0,0x01,0xA8,0x00,0x3C,0x00,0x78,0x00,0x28,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00'],
    [{ 'src': require('../media/oled_icons/face/Eyes/Evil.png'), 'width': 35, 'height': 25, 'alt': 'Evil' }, 'Evil,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x0F,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0xC0,0x0F,0x00,0xE0,0x1F,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0xE0,0x1F,0x00,0x70,0x3C,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x70,0x1C,0x00,0x70,0x78,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x3C,0x38,0x00,0x38,0xF0,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x1E,0x38,0x00,0x38,0xE0,0x01,0x00,0xE0,0x00,0x1C,0x00,0x00,0x0F,0x38,0x00,0x38,0x80,0x07,0x00,0xE0,0x00,0x0C,0x00,0x80,0x07,0x30,0x00,0x38,0x00,0x0F,0x00,0xE0,0x00,0x0C,0x00,0xC0,0x03,0x30,0x00,0x38,0x00,0x1E,0x00,0xE0,0x00,0x0C,0x00,0xE0,0x01,0x30,0x00,0x38,0x00,0x3C,0x00,0xE0,0x00,0x0C,0x00,0x70,0x00,0x30,0x00,0x38,0x00,0x78,0x00,0xE0,0x00,0x0C,0x00,0x7C,0x00,0x30,0x00,0x38,0x00,0xF2,0x00,0xE0,0x00,0x0C,0x00,0x3E,0x01,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x00,0xFF,0x00,0x30,0x00,0x38,0x00,0xFE,0x07,0xE0,0x00,0x0C,0x80,0xBF,0x05,0x30,0x00,0x38,0x00,0x7F,0x0F,0xE0,0x00,0x0C,0xC0,0x3F,0x01,0x30,0x00,0x38,0x40,0x7F,0x1F,0xE0,0x00,0x0C,0xE0,0xDF,0x03,0x30,0x00,0x38,0x80,0xFF,0x3F,0xE0,0x00,0x0C,0xF8,0xFF,0x0B,0x30,0x00,0x38,0x80,0xFF,0x7F,0xE0,0x00,0x0C,0xFC,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0xFF,0xE0,0x00,0x0C,0xFE,0xFF,0x0B,0x30,0x00,0x38,0x00,0xFF,0xC7,0xE3,0x00,0x0C,0xCF,0xFF,0x03,0x30,0x00,0x38,0x40,0xFF,0x97,0xE7,0x00,0x8C,0x87,0xFF,0x01,0x30,0x00,0x38,0x00,0xFE,0x03,0xEF,0x00,0xCC,0xA3,0xFF,0x05,0x30,0x00,0x38,0x00,0xFC,0x01,0xFE,0x00,0xFC,0x00,0xFF,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xFC,0x00,0x7C,0x80,0x3C,0x01,0x30,0x00,0x38,0x00,0x08,0x01,0xF8,0x00,0x3C,0x00,0x42,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00'],
    [{ 'src': require('../media/oled_icons/face/Eyes/Hurt.png'), 'width': 35, 'height': 25, 'alt': 'Hurt' }, 'Hurt,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xF0,0x00,0x1C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xFC,0x00,0x7C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xFF,0x00,0xFC,0x01,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0xC0,0xFF,0x00,0xFC,0x07,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0xF0,0xE7,0x00,0x8C,0x1F,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0xFC,0xE1,0x00,0x0C,0x7E,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x7F,0xE0,0x00,0x0C,0xF8,0x01,0x00,0x30,0x00,0x38,0x00,0xC0,0x1F,0xE0,0x00,0x0C,0xE0,0x07,0x00,0x30,0x00,0x38,0x00,0xF0,0x0F,0xE0,0x00,0x0C,0xC0,0x1F,0x00,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x20,0x7F,0x00,0x30,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0xC0,0xFF,0x01,0x30,0x00,0x38,0xC0,0xFF,0x0F,0xE0,0x00,0x0C,0xE8,0xFF,0x07,0x30,0x00,0x38,0xF0,0xFF,0x19,0xE0,0x00,0x0C,0xE0,0xCF,0x1F,0x30,0x00,0x38,0xFC,0xFD,0x5D,0xE0,0x00,0x0C,0xF0,0xF7,0x7E,0x30,0x00,0x38,0xFF,0xFE,0x3F,0xE0,0x00,0x0C,0xF4,0xFF,0xFA,0x31,0x00,0xB8,0x1F,0xFE,0x3F,0xE0,0x00,0x0C,0xF0,0xFF,0xE0,0x37,0x00,0xF8,0x07,0xFE,0x3F,0xE0,0x00,0x0C,0xF4,0xFF,0x82,0x3F,0x00,0xF8,0x01,0xFC,0x1F,0xE0,0x00,0x0C,0xF0,0xFF,0x00,0x3E,0x00,0x78,0x00,0xFD,0x5F,0xE0,0x00,0x1C,0xE0,0x7F,0x00,0x38,0x00,0x70,0x00,0xF8,0x0F,0x70,0x00,0x1C,0xE8,0x7F,0x01,0x38,0x00,0x70,0x00,0xF0,0x07,0x70,0x00,0x3C,0xC0,0x3F,0x00,0x3C,0x00,0xF0,0x00,0xC0,0x01,0x78,0x00,0x38,0x20,0x4F,0x00,0x1C,0x00,0xE0,0x01,0x20,0x04,0x3C,0x00,0x78,0x80,0x10,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00'],
    [{ 'src': require('../media/oled_icons/face/Eyes/Knocked out.png'), 'width': 35, 'height': 25, 'alt': 'Knocked_out' }, 'Knocked_out,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0xF0,0xFF,0x7F,0xE0,0x00,0x0C,0xF8,0xFF,0x1F,0x30,0x00,0x38,0xF0,0xFF,0x7F,0xE0,0x00,0x0C,0xFC,0xFF,0x3F,0x30,0x00,0x38,0xF0,0xFF,0x7F,0xE0,0x00,0x0C,0xFC,0xFF,0x1F,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00'],
    [{ 'src': require('../media/oled_icons/face/Eyes/Love.png'), 'width': 35, 'height': 25, 'alt': 'Love' }, 'Love,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0xE0,0x07,0x3F,0xE0,0x00,0x0C,0xF0,0x81,0x0F,0x30,0x00,0x38,0xF0,0x8B,0x5F,0xE0,0x00,0x0C,0xF8,0xC2,0x1F,0x30,0x00,0x38,0xF8,0xD7,0xBF,0xE0,0x00,0x0C,0xFC,0xE5,0x2F,0x30,0x00,0x38,0xF8,0xFF,0xBF,0xE0,0x00,0x0C,0xFE,0xFF,0x5F,0x30,0x00,0x38,0xFC,0xFF,0x7F,0xE0,0x00,0x0C,0xFE,0xFF,0x5F,0x30,0x00,0x38,0xFC,0xFF,0xFF,0xE1,0x00,0x0C,0xFE,0xFF,0x7F,0x30,0x00,0x38,0xFC,0xFF,0xFF,0xE1,0x00,0x0C,0xFE,0xFF,0x7F,0x30,0x00,0x38,0xFC,0xFF,0xFF,0xE1,0x00,0x0C,0xFE,0xFF,0x7F,0x30,0x00,0x38,0xF8,0xFF,0xFF,0xE0,0x00,0x0C,0xFE,0xFF,0x7F,0x30,0x00,0x38,0xF8,0xFF,0xFF,0xE0,0x00,0x0C,0xFE,0xFF,0x7F,0x30,0x00,0x38,0xF8,0xFF,0xFF,0xE0,0x00,0x0C,0xFC,0xFF,0x3F,0x30,0x00,0x38,0xF0,0xFF,0x7F,0xE0,0x00,0x0C,0xF8,0xFF,0x1F,0x30,0x00,0x38,0xC0,0xFF,0x1F,0xE0,0x00,0x0C,0xF0,0xFF,0x0F,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xE0,0xFF,0x07,0x30,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x0C,0x80,0xFF,0x01,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x00,0x7E,0x00,0x30,0x00,0x38,0x00,0xF8,0x00,0xE0,0x00,0x0C,0x00,0x3C,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x20,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00'],
    [{ 'src': require('../media/oled_icons/face/Eyes/Middle left.png'), 'width': 35, 'height': 25, 'alt': 'Middle_left' }, 'Middle_left,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x10,0x02,0x00,0xE0,0x00,0x0C,0x04,0x01,0x00,0x30,0x00,0x38,0xC0,0x01,0x00,0xE0,0x00,0x0C,0xE0,0x04,0x00,0x30,0x00,0x38,0xF0,0x07,0x00,0xE0,0x00,0x0C,0xFC,0x01,0x00,0x30,0x00,0x38,0xF8,0x0F,0x00,0xE0,0x00,0x8C,0xFE,0x17,0x00,0x30,0x00,0x38,0xFC,0x19,0x00,0xE0,0x00,0x0C,0xFE,0x04,0x00,0x30,0x00,0x38,0xFD,0x5D,0x00,0xE0,0x00,0x4C,0x7F,0x0F,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x0C,0xFF,0x2F,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x4C,0xFF,0x0F,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x0C,0xFF,0x2F,0x00,0x30,0x00,0x38,0xFC,0x1F,0x00,0xE0,0x00,0x4C,0xFF,0x0F,0x00,0x30,0x00,0x38,0xFD,0x5F,0x00,0xE0,0x00,0x0C,0xFE,0x07,0x00,0x30,0x00,0x38,0xF8,0x0F,0x00,0xE0,0x00,0x8C,0xFE,0x17,0x00,0x30,0x00,0x38,0xF0,0x07,0x00,0xE0,0x00,0x0C,0xFC,0x03,0x00,0x30,0x00,0x38,0xC0,0x01,0x00,0xE0,0x00,0x0C,0xF2,0x04,0x00,0x30,0x00,0x38,0x10,0x02,0x00,0xE0,0x00,0x0C,0x08,0x01,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00'],
    [{ 'src': require('../media/oled_icons/face/Eyes/Middle right.png'), 'width': 35, 'height': 25, 'alt': 'Middle_right' }, 'Middle_right,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x21,0xE0,0x00,0x0C,0x00,0x40,0x10,0x30,0x00,0x38,0x00,0x00,0x1C,0xE0,0x00,0x0C,0x00,0x00,0x4E,0x30,0x00,0x38,0x00,0x00,0x7F,0xE0,0x00,0x0C,0x00,0xC0,0x1F,0x30,0x00,0x38,0x00,0x80,0xFF,0xE0,0x00,0x0C,0x00,0xE8,0x7F,0x31,0x00,0x38,0x00,0xC0,0x9F,0xE1,0x00,0x0C,0x00,0xE0,0x4F,0x30,0x00,0x38,0x00,0xD0,0xDF,0xE5,0x00,0x0C,0x00,0xF0,0xF7,0x30,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF4,0xFF,0x32,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF0,0xFF,0x32,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF4,0xFF,0x30,0x00,0x38,0x00,0xC0,0xFF,0xE1,0x00,0x0C,0x00,0xF0,0xFF,0x32,0x00,0x38,0x00,0xD0,0xFF,0xE5,0x00,0x0C,0x00,0xE0,0x7F,0x30,0x00,0x38,0x00,0x80,0xFF,0xE0,0x00,0x0C,0x00,0xE8,0x7F,0x31,0x00,0x38,0x00,0x00,0x7F,0xE0,0x00,0x0C,0x00,0xC0,0x3F,0x30,0x00,0x38,0x00,0x00,0x1C,0xE0,0x00,0x0C,0x00,0x20,0x4F,0x30,0x00,0x38,0x00,0x00,0x21,0xE0,0x00,0x0C,0x00,0x80,0x10,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00'],
    [{ 'src': require('../media/oled_icons/face/Eyes/Neutral.png'), 'width': 35, 'height': 25, 'alt': 'Neutral' }, 'Neutral,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x84,0x00,0xE0,0x00,0x0C,0x00,0x41,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x38,0x01,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x00,0x7F,0x00,0x30,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x0C,0xA0,0xFF,0x05,0x30,0x00,0x38,0x00,0x7F,0x06,0xE0,0x00,0x0C,0x80,0x3F,0x01,0x30,0x00,0x38,0x40,0x7F,0x17,0xE0,0x00,0x0C,0xC0,0xDF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x40,0xFF,0x17,0xE0,0x00,0x0C,0x80,0xFF,0x01,0x30,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x0C,0xA0,0xFF,0x05,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x00,0xFF,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x80,0x3C,0x01,0x30,0x00,0x38,0x00,0x84,0x00,0xE0,0x00,0x0C,0x00,0x42,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00'],
    [{ 'src': require('../media/oled_icons/face/Eyes/Nuclear.png'), 'width': 35, 'height': 25, 'alt': 'Nuclear' }, 'Nuclear,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x78,0x00,0xE0,0x00,0x0C,0x00,0x3C,0x00,0x30,0x00,0x38,0x00,0xCF,0x03,0xE0,0x00,0x0C,0x80,0xE7,0x01,0x30,0x00,0x38,0xC0,0x01,0x0C,0xE0,0x00,0x0C,0xE0,0x00,0x06,0x30,0x00,0x38,0x60,0x00,0x10,0xE0,0x00,0x0C,0x30,0x00,0x08,0x30,0x00,0x38,0xB0,0x01,0x24,0xE0,0x00,0x0C,0xD8,0x00,0x12,0x30,0x00,0x38,0xD8,0x01,0x4E,0xE0,0x00,0x0C,0xEC,0x00,0x27,0x30,0x00,0x38,0xC8,0x03,0xDF,0xE0,0x00,0x0C,0xE4,0x81,0x6F,0x30,0x00,0x38,0xEC,0x07,0xBF,0xE0,0x00,0x0C,0xF6,0x83,0x5F,0x30,0x00,0x38,0xF4,0x87,0xBF,0xE1,0x00,0x0C,0xFA,0xC3,0xDF,0x30,0x00,0x38,0xF4,0x87,0x3F,0xE1,0x00,0x0C,0xFA,0xC3,0x9F,0x30,0x00,0x38,0xF6,0x27,0x7F,0xE1,0x00,0x0C,0xFB,0x93,0xBF,0x30,0x00,0x38,0xF2,0x73,0x7F,0xE1,0x00,0x0C,0xF9,0xB9,0xBF,0x30,0x00,0x38,0x02,0x78,0x00,0xE1,0x00,0x0C,0x01,0x3C,0x80,0x30,0x00,0x38,0x02,0x30,0x00,0xE1,0x00,0x0C,0x01,0x18,0x80,0x30,0x00,0x38,0x04,0x00,0x00,0xE1,0x00,0x0C,0x02,0x00,0x80,0x30,0x00,0x38,0x04,0x70,0x00,0xE1,0x00,0x0C,0x02,0x38,0x80,0x30,0x00,0x38,0x04,0xF8,0x80,0xE1,0x00,0x0C,0x02,0x7C,0xC0,0x30,0x00,0x38,0x08,0xFC,0x80,0xE0,0x00,0x0C,0x04,0x7E,0x40,0x30,0x00,0x38,0x18,0xFC,0x41,0xE0,0x00,0x0C,0x0C,0xFE,0x20,0x30,0x00,0x38,0x10,0xFE,0x61,0xE0,0x00,0x0C,0x08,0xFF,0x30,0x30,0x00,0x38,0x20,0xFE,0x33,0xE0,0x00,0x0C,0x10,0xFF,0x19,0x30,0x00,0x38,0xC0,0x78,0x18,0xE0,0x00,0x0C,0x60,0x3C,0x0C,0x30,0x00,0x38,0x80,0x03,0x06,0xE0,0x00,0x0C,0xC0,0x01,0x03,0x30,0x00,0x38,0x00,0xFE,0x01,0xE0,0x00,0x0C,0x00,0xFF,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00'],
    [{ 'src': require('../media/oled_icons/face/Eyes/Pinch left.png'), 'width': 35, 'height': 25, 'alt': 'Pinch_left' }, 'Pinch_left,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x30,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xB8,0xFE,0xBD,0x00,0xE0,0x00,0x5C,0x7F,0x3F,0x00,0x38,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x4C,0xFF,0x0F,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x0C,0xFF,0x2F,0x00,0x30,0x00,0x38,0xFC,0x1F,0x00,0xE0,0x00,0x4C,0xFF,0x0F,0x00,0x30,0x00,0x38,0xFD,0x5F,0x00,0xE0,0x00,0x0C,0xFE,0x07,0x00,0x30,0x00,0x38,0xF8,0x0F,0x00,0xE0,0x00,0x0C,0xFE,0x17,0x00,0x30,0x00,0x38,0xF0,0x07,0x00,0xE0,0x00,0x0C,0xFD,0x0B,0x00,0x30,0x00,0x38,0xC0,0x01,0x00,0xE0,0x00,0x0C,0xF0,0x00,0x00,0x30,0x00,0x38,0x18,0x06,0x00,0xE0,0x00,0x0C,0x0C,0x03,0x00,0x38,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00'],
    [{ 'src': require('../media/oled_icons/face/Eyes/Pinch middle.png'), 'width': 35, 'height': 25, 'alt': 'Pinch_middle' }, 'Pinch_middle,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x30,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0xA0,0x7F,0x2F,0xE0,0x00,0x1C,0xD0,0xDF,0x0F,0x38,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x40,0xFF,0x17,0xE0,0x00,0x0C,0x80,0xFF,0x01,0x30,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x0C,0x80,0xFF,0x05,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x40,0xFF,0x02,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x3C,0x00,0x30,0x00,0x38,0x00,0x86,0x01,0xE0,0x00,0x0C,0x00,0xC3,0x00,0x38,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00'],
    [{ 'src': require('../media/oled_icons/face/Eyes/Pinch right.png'), 'width': 35, 'height': 25, 'alt': 'Pinch_right' }, 'Pinch_right,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x30,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x00,0xE8,0xDF,0xEB,0x00,0x1C,0x00,0xF4,0xF7,0x3A,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF0,0xFF,0x32,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF4,0xFF,0x30,0x00,0x38,0x00,0xC0,0xFF,0xE1,0x00,0x0C,0x00,0xF0,0xFF,0x32,0x00,0x38,0x00,0xD0,0xFF,0xE5,0x00,0x0C,0x00,0xE0,0x7F,0x30,0x00,0x38,0x00,0x80,0xFF,0xE0,0x00,0x0C,0x00,0xE0,0x7F,0x31,0x00,0x38,0x00,0x00,0x7F,0xE0,0x00,0x0C,0x00,0xD0,0xBF,0x30,0x00,0x38,0x00,0x00,0x1C,0xE0,0x00,0x0C,0x00,0x00,0x0F,0x30,0x00,0x38,0x00,0x80,0xC2,0xE0,0x00,0x0C,0x00,0xC0,0x30,0x38,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00'],
    [{ 'src': require('../media/oled_icons/face/Eyes/Tear.png'), 'width': 35, 'height': 25, 'alt': 'Tear' }, 'Tear,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0xF0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x00,0xFD,0x05,0xE0,0x00,0x1C,0x40,0x7F,0x02,0x38,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x0C,0x00,0xFF,0x00,0x30,0x00,0x38,0x00,0x7F,0x06,0xE0,0x00,0x0C,0xA0,0xBF,0x05,0x30,0x00,0x38,0x40,0x7F,0x16,0xE0,0x00,0x0C,0xC0,0x9F,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x04,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x04,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x04,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x0C,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x0E,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x0E,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x1F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x80,0x3F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x80,0x6F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xC0,0x5F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xC0,0x7F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xC0,0x7F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x80,0x7F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x3F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x0E,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00'],
    [{ 'src': require('../media/oled_icons/face/Eyes/Tired left.png'), 'width': 35, 'height': 25, 'alt': 'Tired_left' }, 'Tired_left,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x38,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0xFD,0x5D,0x00,0xE0,0x00,0x5C,0x7F,0x2E,0x00,0x38,0x00,0x38,0xFE,0x1F,0x00,0xE0,0x00,0x0C,0xFF,0x0F,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x4C,0xFF,0x2F,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x0C,0xFF,0x0F,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x4C,0xFF,0x2F,0x00,0x30,0x00,0x38,0xFD,0x5F,0x00,0xE0,0x00,0x0C,0xFF,0x0F,0x00,0x30,0x00,0x38,0xF8,0x1F,0x00,0xE0,0x00,0x9C,0xFE,0x17,0x00,0x38,0x00,0x70,0xFA,0x2F,0x00,0x70,0x00,0x1C,0xFC,0x03,0x00,0x38,0x00,0x70,0xE0,0x03,0x00,0x70,0x00,0x3C,0xF8,0x01,0x00,0x3C,0x00,0xF0,0x08,0x08,0x00,0x78,0x00,0x38,0x04,0x02,0x00,0x1C,0x00,0xE0,0xA1,0x02,0x00,0x3C,0x00,0x78,0xA0,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00'],
    [{ 'src': require('../media/oled_icons/face/Eyes/Tired middle.png'), 'width': 35, 'height': 25, 'alt': 'Tired_middle' }, 'Tired_middle,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x38,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x40,0xFF,0x17,0xE0,0x00,0x1C,0xD0,0xDF,0x0B,0x38,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x0B,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x40,0xFF,0x17,0xE0,0x00,0x0C,0x80,0xFF,0x01,0x30,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x1C,0xA0,0xFF,0x05,0x38,0x00,0x70,0x00,0xFC,0x01,0x70,0x00,0x1C,0x00,0xFF,0x00,0x38,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0x3C,0x80,0x3C,0x01,0x3C,0x00,0xF0,0x00,0x84,0x00,0x78,0x00,0x38,0x00,0x42,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00'],
    [{ 'src': require('../media/oled_icons/face/Eyes/Tired right.png'), 'width': 35, 'height': 25, 'alt': 'Tired_right' }, 'Tired_right,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x38,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x00,0xD0,0xDF,0xE5,0x00,0x1C,0x00,0xF4,0xE7,0x3A,0x00,0x38,0x00,0xE0,0xFF,0xE1,0x00,0x0C,0x00,0xF0,0xFF,0x30,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF4,0xFF,0x32,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF0,0xFF,0x30,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF4,0xFF,0x32,0x00,0x38,0x00,0xD0,0xFF,0xE5,0x00,0x0C,0x00,0xF0,0xFF,0x30,0x00,0x38,0x00,0x80,0xFF,0xE1,0x00,0x1C,0x00,0xE8,0x7F,0x39,0x00,0x70,0x00,0xA0,0xFF,0x72,0x00,0x1C,0x00,0xC0,0x3F,0x38,0x00,0x70,0x00,0x00,0x3E,0x70,0x00,0x3C,0x00,0x80,0x1F,0x3C,0x00,0xF0,0x00,0x80,0x80,0x78,0x00,0x38,0x00,0x40,0x20,0x1C,0x00,0xE0,0x01,0x00,0x14,0x3C,0x00,0x78,0x00,0x00,0x0A,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00'],
    [{ 'src': require('../media/oled_icons/face/Eyes/Toxic.png'), 'width': 35, 'height': 25, 'alt': 'Toxic' }, 'Toxic,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x1C,0x00,0x30,0x00,0x38,0x00,0xFE,0x02,0xE0,0x00,0x0C,0x00,0xFF,0x00,0x30,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x0C,0x80,0xFF,0x00,0x30,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0xC0,0xFF,0x01,0x30,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x80,0x23,0x0E,0xE0,0x00,0x0C,0xC0,0x18,0x03,0x30,0x00,0x38,0x80,0x23,0x0E,0xE0,0x00,0x0C,0xC0,0x10,0x03,0x30,0x00,0x38,0x00,0x73,0x06,0xE0,0x00,0x0C,0xC0,0x99,0x03,0x30,0x00,0x38,0x00,0x9F,0x07,0xE0,0x00,0x0C,0x80,0xE7,0x01,0x30,0x00,0x38,0x00,0x9E,0x03,0xE0,0x00,0x0C,0x00,0xE7,0x00,0x30,0x00,0x38,0x20,0xF8,0x40,0xE0,0x00,0x0C,0x18,0x7C,0x30,0x30,0x00,0x38,0xF0,0x51,0x78,0xE0,0x00,0x0C,0xFC,0x08,0x3C,0x30,0x00,0x38,0x30,0x0F,0xCF,0xE0,0x00,0x0C,0xCC,0x87,0x37,0x30,0x00,0x38,0x00,0x7C,0x02,0xE0,0x00,0x0C,0x00,0x3E,0x00,0x30,0x00,0x38,0xB0,0xC7,0x67,0xE0,0x00,0x0C,0xD8,0xF3,0x13,0x30,0x00,0x38,0xF0,0x03,0x7F,0xE0,0x00,0x0C,0xF8,0x81,0x3F,0x30,0x00,0x38,0x60,0x00,0x70,0xE0,0x00,0x0C,0x30,0x00,0x1C,0x30,0x00,0x38,0x60,0x00,0x30,0xE0,0x00,0x0C,0x10,0x00,0x18,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00'],
    [{ 'src': require('../media/oled_icons/face/Eyes/Up.png'), 'width': 35, 'height': 25, 'alt': 'Up' }, 'Up,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x84,0x00,0x38,0x00,0x78,0x00,0x41,0x00,0x1E,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0x38,0x00,0x38,0x01,0x1C,0x00,0x70,0x00,0xFC,0x01,0x70,0x00,0x1C,0x00,0x7F,0x00,0x38,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x1C,0xA0,0xFF,0x05,0x38,0x00,0x38,0x00,0x7F,0x06,0xE0,0x00,0x1C,0x80,0x3F,0x01,0x38,0x00,0x38,0x40,0x7F,0x17,0xE0,0x00,0x0C,0xC0,0xDF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x40,0xFF,0x17,0xE0,0x00,0x0C,0x80,0xFF,0x01,0x30,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x0C,0xA0,0xFF,0x05,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x00,0xFF,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x80,0x3C,0x01,0x30,0x00,0x38,0x00,0x84,0x00,0xE0,0x00,0x0C,0x00,0x42,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00'],
    [{ 'src': require('../media/oled_icons/face/Eyes/Winking.png'), 'width': 35, 'height': 25, 'alt': 'Winking' }, 'Winking,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x84,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x7F,0x06,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x40,0x7F,0x17,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x40,0xFF,0x17,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x84,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00'],
    [{ 'src': require('../media/oled_icons/face/Expressions/Big smile.png'), 'width': 35, 'height': 25, 'alt': 'Big_smile' }, 'Big_smile,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x07,0x00,0xC0,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x1F,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x3F,0x00,0xF8,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x10,0x00,0x10,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0xFF,0xFF,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0xFF,0xFF,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0xC0,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x80,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0xC0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x00,0xC0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x00,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x01,0x1E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00'],
    [{ 'src': require('../media/oled_icons/face/Expressions/Heart large.png'), 'width': 35, 'height': 25, 'alt': 'Heart_large' }, 'Heart_large,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x00,0x00,0x00,0xFC,0x01,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0x03,0x00,0x00,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0xF8,0xBF,0x07,0x00,0xC0,0xFF,0x3F,0x00,0x00,0x00,0x00,0x00,0xFC,0x3F,0x1C,0x00,0xF0,0xFF,0xE1,0x00,0x00,0x00,0x00,0x00,0xFE,0xFF,0x71,0x00,0xF8,0xFF,0xC3,0x01,0x00,0x00,0x00,0x00,0xFF,0xFF,0xE7,0x00,0xFC,0xFF,0x8F,0x03,0x00,0x00,0x00,0x80,0xFF,0xFF,0xCF,0x01,0xFE,0xFF,0x3F,0x07,0x00,0x00,0x00,0xC0,0xFF,0xFF,0x9F,0x03,0xFF,0xFF,0x7F,0x06,0x00,0x00,0x00,0xE0,0xFF,0xFF,0x3F,0x83,0xFF,0xFF,0xFF,0x0C,0x00,0x00,0x00,0xE0,0xFF,0xFF,0x7F,0x87,0xFF,0xFF,0xFF,0x1D,0x00,0x00,0x00,0xF0,0xFF,0xFF,0xFF,0xC6,0xFF,0xFF,0xFF,0x19,0x00,0x00,0x00,0xF0,0xFF,0xFF,0xFF,0xEF,0xFF,0xFF,0xFF,0x33,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x37,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x37,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x6F,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x00,0x00,0x00,0xF0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x00,0x00,0x00,0xF0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x00,0x00,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x00,0x00,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x07,0x00,0x00,0x00,0x80,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x07,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x03,0x00,0x00,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x01,0x00,0x00,0x00,0x00,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0xFF,0xFF,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0xFF,0xFF,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00'],
    [{ 'src': require('../media/oled_icons/face/Expressions/Heart small.png'), 'width': 35, 'height': 25, 'alt': 'Heart_small' }, 'Heart_small,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x1F,0x00,0xF0,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x67,0x00,0xFC,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0xC7,0x00,0xFE,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x9F,0x01,0xFF,0x8F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x3F,0x83,0xFF,0x1F,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x7F,0xC6,0xFF,0x3F,0x03,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0xFF,0xCE,0xFF,0xFF,0x02,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0xFF,0xEF,0xFF,0xFF,0x06,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0x05,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0x0D,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0xFF,0xFF,0xFF,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0xFF,0xFF,0xFF,0xFF,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0xFF,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00'],
    [{ 'src': require('../media/oled_icons/face/Expressions/Mouth 1 open.png'), 'width': 35, 'height': 25, 'alt': 'Mouth_1_open' }, 'Mouth_1_open,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0xFC,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0x7F,0x00,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0xF0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x00,0x00,0x04,0x60,0x00,0xF8,0xFF,0xFF,0xFF,0x3F,0x00,0x18,0x00,0x00,0x00,0x60,0x00,0x18,0x00,0x38,0x00,0x30,0x00,0x18,0x00,0x00,0x04,0x20,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x00,0x00,0x00,0x20,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x00,0x00,0x04,0x20,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x00,0x00,0x00,0x20,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x00,0x00,0x04,0x20,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x40,0x00,0x04,0x30,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x40,0x00,0x04,0x30,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x40,0x00,0x0C,0x30,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x38,0x40,0x00,0x0C,0x78,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x38,0x60,0x00,0x18,0x7C,0x00,0x1C,0x00,0x38,0x00,0x70,0x00,0x78,0x70,0x00,0xF8,0xEF,0x00,0x1E,0x00,0x38,0x00,0xF0,0x00,0xCC,0x3F,0x00,0xE4,0xD7,0xC3,0x37,0x00,0x38,0x00,0xD8,0x07,0x87,0x1F,0x00,0x08,0xA8,0xFF,0x71,0x00,0x38,0x00,0x1C,0xFF,0x23,0x40,0x00,0xA8,0x2A,0x00,0xE4,0x03,0xEF,0x81,0x2F,0x00,0xA8,0x2A,0x00,0x54,0x55,0x55,0x95,0xFF,0xC7,0xFF,0x53,0x55,0x55,0x55,0x00,0x28,0x55,0x55,0x15,0x00,0x28,0x00,0xA8,0xAA,0xAA,0x2A,0x00,0xD4,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0x2A,0x55,0x55,0x00,0x28,0x55,0xAD,0xAA,0xAA,0x56,0x55,0x55,0xD5,0xAA,0x2A,0x00,0xD4,0xAA,0x52,0x55,0x55,0xA9,0xAA,0xAA,0x2A,0x55,0x55,0x00,0x28,0x55,0xAD,0xAA,0xAA,0x56,0x55,0x55,0xD5,0xAA,0x2A,0x00,0xD4,0xAA,0x52,0x55,0x55,0xA9,0xAA,0xAA,0x2A,0x55,0x55,0x00,0x28,0x55,0xAD,0xAA,0xAA,0x56,0x55,0x55,0xD5,0xAA,0x2A,0x00,0xD4,0xAA,0x52,0x55,0x55,0xA9,0xAA,0xAA,0x2A,0x55,0x55,0x00,0x28,0x55,0xAD,0xAA,0xAA,0x56,0x55,0x55,0xD5,0xAA,0x2A,0x00,0xD4,0xAA,0x52,0x55,0x55,0xA9,0xAA,0xAA,0x2A,0x55,0x55,0x00,0x28,0x55,0xAD,0xAA,0xAA,0x56,0x55,0x55,0xD5,0xAA,0x52,0x00,0xE8,0x55,0x51,0x55,0x55,0xA9,0xAA,0xAA,0x2A,0xAA,0x2E,0x00,0x0C,0x54,0xAF,0xAA,0xAA,0x56,0x55,0xAB,0xEA,0xAB,0x50,0x00,0xF0,0x57,0xA0,0xAA,0x54,0xA9,0xAA,0x54,0x15,0xA8,0x5F,0x00,0x04,0xD8,0x5F,0x55,0xAB,0x56,0x55,0x53,0xF5,0x2F,0x40,0x00,0xF0,0x27,0x40,0xAD,0x54,0xA9,0xAA,0xAC,0x0A,0xA0,0x3F,0x00,0x18,0xEE,0x7F,0x51,0xAB,0x56,0x55,0x53,0xFA,0xDF,0x71,0x00,0x0C,0x0C,0x00,0xDF,0x54,0x51,0xA5,0xDC,0x03,0xC0,0x60,0x00,0x0C,0xD8,0x7F,0x00,0x6B,0xDF,0x5D,0x03,0xF8,0x6F,0x40,0x00,0x0C,0xF8,0xE0,0xFC,0x08,0x20,0xC0,0xF8,0x1C,0x7C,0x40,0x00,0x0C,0x30,0x80,0xFF,0xF3,0x87,0x1F,0xFF,0x07,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0xFF,0xFF,0xFF,0x03,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x0E,0x78,0xC0,0x01,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x04,0x30,0x80,0x00,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x04,0x30,0x80,0x00,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x04,0x30,0x80,0x00,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x04,0x30,0x80,0x00,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x04,0x30,0x80,0x00,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x04,0x30,0x80,0x00,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0xE1,0xFF,0xFF,0xFF,0x1F,0x06,0x30,0x40,0x00,0x0C,0xF0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x40,0x00,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0xFC,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0x7F,0x00,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00'],
    [{ 'src': require('../media/oled_icons/face/Expressions/Mouth 1 shut.png'), 'width': 35, 'height': 25, 'alt': 'Mouth_1_shut' }, 'Mouth_1_shut,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0xFC,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0x7F,0x00,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x00,0x00,0x04,0x60,0x00,0xF8,0xFF,0xFF,0xFF,0x3F,0x00,0x18,0x00,0x00,0x00,0x60,0x00,0x18,0x00,0x38,0x00,0x30,0x00,0x18,0x00,0x00,0x04,0x20,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x00,0x00,0x00,0x20,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x00,0x00,0x04,0x20,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x00,0x00,0x00,0x20,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x00,0x00,0x04,0x20,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x40,0x00,0x04,0x30,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x40,0x00,0x04,0x30,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x40,0x00,0x0C,0x30,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x38,0x40,0x00,0x0C,0x38,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x38,0x60,0x00,0x18,0x7C,0x00,0x1C,0x00,0x38,0x00,0x70,0x00,0x78,0x70,0x00,0xF8,0xEF,0x00,0x1E,0x00,0x38,0x00,0xF0,0x00,0xCC,0x3F,0x00,0xE0,0xC7,0xC3,0x37,0x00,0x38,0x00,0xD8,0x07,0x87,0x5F,0x00,0x04,0x90,0xFF,0x71,0x00,0x38,0x00,0x9C,0xFF,0x33,0x00,0x00,0xF0,0x17,0x00,0xE4,0x03,0xEF,0x81,0x4F,0x00,0x94,0x3F,0x00,0x18,0xEE,0x5F,0x95,0xFF,0xD7,0xFF,0xA3,0xFA,0xD7,0x71,0x00,0x0C,0x1C,0x00,0x6D,0x00,0x20,0x00,0xDC,0x02,0xC0,0x60,0x00,0x0C,0xD8,0x7F,0x01,0x55,0xAF,0x5D,0x01,0xFA,0x6F,0x40,0x00,0x0C,0xF8,0xE0,0xFC,0x08,0x50,0x40,0xF8,0x1D,0x7C,0x40,0x00,0x0C,0x30,0x80,0xFF,0xF3,0x87,0x1F,0xFF,0x07,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0xFF,0xEF,0xFF,0x03,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x0E,0x78,0xC0,0x01,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x04,0x30,0x80,0x00,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x04,0x30,0x80,0x00,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x04,0x30,0x80,0x00,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x04,0x30,0x80,0x00,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x04,0x30,0x80,0x00,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x04,0x30,0x80,0x00,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0xE1,0xFF,0xFF,0xFF,0x1F,0x06,0x30,0x40,0x00,0x0C,0xF0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x40,0x00,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0xFC,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0x7F,0x00,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00'],
    [{ 'src': require('../media/oled_icons/face/Expressions/Mouth 2 open.png'), 'width': 35, 'height': 25, 'alt': 'Mouth_2_open' }, 'Mouth_2_open,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x01,0xFF,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0xFF,0x01,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x1A,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x60,0x00,0x19,0x00,0xC3,0xF0,0xFF,0xFF,0xFF,0x1F,0xE3,0x03,0x30,0x01,0x1A,0x00,0xC7,0x80,0x01,0x3C,0xC0,0x00,0x63,0x03,0x30,0x01,0x1A,0x80,0xCD,0x41,0x01,0x26,0xC0,0x81,0x33,0x03,0xB8,0x00,0x35,0x80,0xDD,0x41,0x02,0x2A,0x20,0x81,0x1B,0x03,0x98,0x00,0x32,0x80,0xFA,0xA3,0x02,0x6B,0x30,0xC1,0x4E,0x02,0x5C,0x01,0x35,0xC0,0x34,0xB3,0x04,0x55,0x50,0x42,0xA0,0x02,0x4C,0x01,0x25,0xC0,0x4A,0x53,0x8D,0xD5,0x48,0x63,0x55,0x02,0xAE,0x00,0x6A,0x40,0xAA,0x9E,0x8A,0x94,0xA8,0xB2,0xAA,0x02,0xA6,0x00,0x6A,0x40,0x55,0xAD,0xD2,0xAA,0x54,0x92,0xAA,0x02,0x57,0x01,0x55,0x60,0x55,0x41,0x65,0xAA,0xA3,0xAE,0xAA,0x02,0x53,0x01,0xD5,0x60,0x55,0x51,0x85,0x2A,0xA9,0x52,0x55,0x82,0xA9,0x00,0xAA,0x60,0x55,0x55,0x55,0x55,0x54,0xA9,0xAA,0x82,0xA9,0x00,0x95,0x20,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0xC2,0x54,0x01,0xAA,0xB1,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xE2,0xAA,0x00,0x2A,0xB1,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0x62,0x55,0x01,0x55,0x33,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x33,0x55,0x01,0x55,0xB2,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0x2A,0xBB,0xAA,0x00,0xAA,0xB6,0xAA,0xAA,0xAA,0x6A,0x55,0x55,0x55,0x9F,0xAA,0x00,0xAA,0x5C,0x55,0x55,0x55,0x95,0xAA,0xAA,0x2A,0x4F,0x55,0x01,0x55,0x9D,0xAA,0xAA,0xAA,0x6A,0x55,0x55,0x55,0xA7,0xAA,0x00,0x55,0x59,0x55,0x55,0x55,0x95,0xAA,0xAA,0xAA,0x57,0x55,0x01,0xAA,0xBA,0xAA,0xAA,0xAA,0x6A,0x55,0x55,0x55,0xA9,0xAA,0x00,0xAA,0x52,0x55,0x55,0x55,0x95,0xAA,0xAA,0x4A,0x54,0x55,0x01,0x55,0x8D,0xAA,0xAA,0xAA,0x6A,0x55,0x55,0xB5,0xAA,0xAA,0x00,0xAA,0x52,0x55,0x55,0x55,0x95,0xAA,0xAA,0x4A,0x55,0x55,0x01,0x55,0xAD,0xAA,0xAA,0xAA,0x6A,0x55,0x55,0xB5,0xAA,0xAA,0x00,0xAA,0x52,0x55,0x55,0x55,0x95,0x2A,0x55,0x45,0x55,0x55,0x01,0x55,0xAD,0xAA,0xAA,0xAA,0x6A,0xD5,0xAA,0x7A,0xA5,0xAA,0x00,0xAA,0x52,0x55,0x55,0x55,0x95,0x2A,0x55,0x85,0x5A,0x55,0x01,0x55,0xAD,0xA9,0xAA,0xAA,0x6A,0xD5,0xAA,0x2A,0xA5,0xAA,0x00,0xAA,0x52,0x56,0x55,0x55,0x95,0x2A,0x55,0xF5,0x5A,0x55,0x01,0x55,0x2D,0xA9,0xAA,0xAA,0x6A,0xD5,0xAA,0xEA,0xA5,0xAA,0x00,0xAA,0x92,0x55,0x55,0x55,0x95,0x2A,0x55,0x65,0x59,0x55,0x01,0x55,0xCD,0x55,0x55,0x55,0x69,0xD5,0xAA,0x6A,0xA2,0xAA,0x00,0xAA,0xE2,0xAD,0xAA,0xAA,0x96,0x2A,0x55,0x65,0x56,0x55,0x01,0x55,0xB5,0x51,0x55,0x55,0x69,0xD5,0xAA,0x6A,0xAC,0xAA,0x00,0xAA,0x1A,0xAD,0xAA,0xAA,0x96,0x2A,0x55,0x65,0x4C,0x55,0x01,0x55,0x0D,0x53,0x55,0x55,0xE9,0xEA,0xAA,0x6A,0x58,0x55,0x01,0xAA,0x0C,0xAB,0x52,0x55,0x16,0x15,0xAA,0x6A,0x90,0xAA,0x00,0xD5,0x06,0x53,0x4D,0xAD,0xC9,0xAA,0xA9,0x6A,0xB0,0xAA,0x00,0x2A,0x06,0xAA,0xB2,0xD2,0xA5,0xAD,0x53,0x65,0x60,0x55,0x01,0x55,0x03,0xEA,0x32,0x4D,0x2B,0xB1,0xAC,0x6A,0x60,0xAA,0x00,0x2A,0x03,0x16,0x59,0x23,0x32,0xCA,0x48,0x6B,0xC0,0x56,0x01,0xB5,0x01,0x16,0x4C,0x14,0x16,0xB4,0x58,0x68,0xC0,0xA8,0x00,0x8A,0x01,0xC4,0x8E,0x1A,0x14,0xC4,0x30,0x6B,0x80,0x55,0x01,0xB5,0x01,0xE4,0x87,0x0A,0x1C,0x48,0xE0,0x67,0x80,0x55,0x01,0x8A,0x01,0x74,0x07,0x09,0x08,0x50,0xE0,0x6E,0x00,0xAB,0x00,0xD5,0x00,0x3C,0x07,0x04,0x08,0x70,0xC0,0x3C,0x00,0xAB,0x01,0xCA,0x00,0x1C,0x03,0x07,0x0C,0x30,0xC0,0x38,0x00,0x56,0x00,0xCD,0x00,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0xB6,0x01,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x07,0x00,0xFF,0xFF,0xFF,0x3F,0x00,0x00,0x00,0xF0,0xFF,0xFF,0xFF,0x01,0xFF,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0x01,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00'],
    [{ 'src': require('../media/oled_icons/face/Expressions/Mouth 2 shut.png'), 'width': 35, 'height': 25, 'alt': 'Mouth_2_shut' }, 'Mouth_2_shut,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x01,0xFF,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0xFF,0x01,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x1A,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x60,0x00,0x19,0x00,0xC3,0xF0,0xFF,0xFF,0xFF,0x1F,0xE3,0x03,0x30,0x01,0x1A,0x00,0xC7,0x80,0x01,0x3C,0xC0,0x00,0x63,0x03,0x30,0x01,0x1A,0x80,0xCD,0x41,0x01,0x26,0xC0,0x81,0x33,0x03,0xB8,0x00,0x35,0x80,0xDD,0x41,0x02,0x2A,0x20,0x81,0x1B,0x03,0x98,0x00,0x32,0x80,0xFA,0xA3,0x02,0x6B,0x30,0xC1,0x8E,0x02,0x5C,0x01,0x35,0xC0,0x34,0xB3,0x04,0x55,0x50,0x42,0x20,0x02,0x4C,0x01,0x25,0xC0,0x46,0x53,0x8D,0xD5,0x48,0x63,0xF5,0x02,0xAE,0x00,0x6A,0x40,0xA8,0x9E,0x8A,0x94,0xA8,0xB2,0xEA,0x02,0xA6,0x00,0x6A,0xC0,0x55,0xAD,0xD2,0xAA,0x54,0x92,0x6A,0x03,0x57,0x01,0x55,0x60,0x55,0x41,0x65,0xAA,0xA3,0xAE,0x6A,0x02,0x53,0x01,0xD5,0xE0,0xAD,0x52,0x85,0x2A,0xA9,0x52,0x65,0x82,0xA9,0x00,0xAA,0xE0,0x51,0x55,0x55,0x55,0x54,0xA9,0x6A,0x82,0xA9,0x00,0x95,0x20,0xAD,0xAA,0xAA,0xAA,0x2A,0x55,0x65,0xC2,0x54,0x01,0xAA,0x31,0x53,0x55,0x55,0xD5,0xEA,0xAA,0x6A,0xE2,0xAA,0x00,0x2A,0x31,0xAB,0x52,0x55,0x16,0x15,0xAA,0x6A,0x62,0x55,0x01,0x55,0x33,0x53,0x4D,0xAD,0xC9,0xAA,0xA9,0x6A,0x32,0xAA,0x00,0xAA,0x32,0xAA,0xB2,0xD2,0xA5,0xAD,0x53,0x65,0x3B,0x55,0x01,0x55,0x36,0xEA,0x32,0x4D,0x2B,0xB1,0xAC,0x6A,0x5F,0xAA,0x00,0x55,0x15,0x16,0x59,0x23,0x32,0xCA,0x48,0x6B,0xCF,0x56,0x01,0xAA,0x1D,0x16,0x4C,0x14,0x16,0xB4,0x58,0x68,0xC7,0xA8,0x00,0xAA,0x19,0xC4,0x8E,0x1A,0x14,0xC4,0x30,0x6B,0x87,0x55,0x01,0xB5,0x19,0xE4,0x87,0x0A,0x1C,0x48,0xE0,0x67,0x81,0x55,0x01,0x8A,0x11,0x74,0x07,0x09,0x08,0x50,0xE0,0x6E,0x00,0xAB,0x00,0xD5,0x00,0x3C,0x07,0x04,0x08,0x70,0xC0,0x3C,0x00,0xAB,0x01,0xCA,0x00,0x1C,0x03,0x07,0x0C,0x30,0xC0,0x38,0x00,0x56,0x00,0xCD,0x00,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0xB6,0x01,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x07,0x00,0xFF,0xFF,0xFF,0x3F,0x00,0x00,0x00,0xF0,0xFF,0xFF,0xFF,0x01,0xFF,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0x01,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00'],
    [{ 'src': require('../media/oled_icons/face/Expressions/Sad.png'), 'width': 35, 'height': 25, 'alt': 'Sad' }, 'Sad,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x07,0x00,0xC0,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x0F,0x00,0xE0,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x0F,0x00,0xE0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x1F,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x1F,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x1F,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x0F,0x00,0xE0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x0F,0x00,0xE0,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x03,0x00,0x80,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x83,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x00,0xF8,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0xE0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00'],
    [{ 'src': require('../media/oled_icons/face/Expressions/Sick.png'), 'width': 35, 'height': 25, 'alt': 'Sick' }, 'Sick,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x07,0x00,0xC0,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x0F,0x00,0xE0,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x0F,0x00,0xE0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x1F,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x1F,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x1F,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x0F,0x00,0xE0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x0F,0x00,0xE0,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x03,0x00,0x80,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x0F,0x80,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x3F,0xC0,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xFC,0xE0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x03,0xF0,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xC0,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00'],
    [{ 'src': require('../media/oled_icons/face/Expressions/Smile.png'), 'width': 35, 'height': 25, 'alt': 'Smile' }, 'Smile,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x07,0x00,0xC0,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x0F,0x00,0xE0,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x0F,0x00,0xE0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x1F,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x1F,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x1F,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x0F,0x00,0xE0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x0F,0x00,0xE0,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x03,0x00,0x80,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0xE0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x00,0xF8,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x83,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00'],
    [{ 'src': require('../media/oled_icons/face/Expressions/Swearing.png'), 'width': 35, 'height': 25, 'alt': 'Swearing' }, 'Swearing,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0xC0,0x00,0x00,0x1A,0x00,0x00,0x00,0x00,0x00,0x48,0x00,0x00,0xE0,0x01,0x00,0x02,0x00,0x00,0x00,0x00,0x60,0x28,0x00,0x00,0xC0,0x00,0x00,0x64,0x00,0x00,0x00,0x00,0x1F,0x64,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x01,0x4A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x28,0x00,0x00,0x00,0xC0,0x0B,0x00,0x00,0x00,0x00,0x08,0x00,0x04,0x00,0x00,0x00,0xF0,0x3F,0x00,0x00,0x00,0x00,0xC4,0x3F,0x04,0x00,0x00,0x00,0xF8,0x7F,0x00,0x40,0x03,0x00,0x76,0x60,0x00,0x18,0x00,0x00,0xFC,0x7F,0x00,0xC0,0x01,0x00,0x1A,0x40,0x00,0x18,0x00,0x00,0xFC,0xF7,0x00,0xE0,0x01,0x00,0xC9,0x41,0x40,0x08,0x00,0x00,0xFC,0xE3,0x00,0xC0,0x03,0x00,0x09,0x42,0x40,0x00,0x00,0x00,0xFC,0xC3,0x10,0x80,0x00,0x00,0x19,0x63,0xC0,0x00,0x00,0x00,0x3C,0x63,0x70,0x00,0x00,0x03,0xF1,0x31,0xF0,0x07,0x00,0x00,0x1C,0x7E,0x78,0x00,0xC0,0x03,0x01,0x18,0xFC,0x03,0x00,0x00,0x1C,0x72,0x2C,0x00,0xE0,0x03,0x03,0x0C,0xF0,0x03,0x00,0x00,0x38,0x33,0x06,0x00,0xF0,0x03,0x0E,0x07,0xB0,0x03,0x00,0x00,0xF0,0x7F,0xC3,0x01,0xF0,0x03,0xF8,0x01,0x10,0x07,0x00,0x00,0xE0,0x2F,0xE1,0x00,0xF0,0x03,0x00,0x00,0x00,0x04,0x00,0x00,0x80,0x02,0xFF,0x00,0xF0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0x00,0xF0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0xF0,0x01,0xF8,0xFE,0x01,0x00,0x00,0x00,0xFC,0x07,0x00,0x00,0xF0,0x01,0xFC,0xFF,0x03,0x00,0x00,0x00,0x38,0x0C,0x00,0x00,0xF0,0x01,0xFE,0xFF,0x07,0x00,0x00,0x00,0x18,0x06,0x00,0x00,0xF0,0x00,0xBE,0xFE,0xFF,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0xF8,0xC0,0xDF,0xFF,0xFF,0x03,0x00,0x00,0xE0,0x03,0x00,0x00,0xF8,0xE0,0xFF,0xFF,0xFF,0x07,0x00,0x00,0xE0,0x01,0x00,0x00,0x78,0xE0,0xFF,0xFF,0x3F,0x0F,0x00,0x00,0xC0,0x01,0x00,0x00,0x70,0xE0,0xFF,0xFF,0x7F,0x0F,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0xC0,0x00,0x08,0x80,0xFF,0xDF,0xFF,0x0F,0x00,0xF0,0x01,0x00,0xF0,0x03,0x1E,0x00,0xFF,0xFF,0xFF,0x1F,0x00,0x3C,0x07,0x00,0xF0,0x03,0x3C,0x00,0xC0,0xBF,0xFF,0x3F,0x00,0x04,0x0C,0x00,0xE0,0x01,0x1C,0x00,0x00,0xFF,0xFF,0x7F,0x00,0xE4,0x19,0x00,0xF0,0x01,0x18,0x3E,0x00,0xFE,0xFF,0x7F,0x00,0xB2,0x11,0x00,0x10,0x03,0x00,0xE3,0x00,0xFC,0xFF,0xEF,0x00,0x56,0x19,0x00,0x00,0x02,0x80,0x81,0x03,0xF4,0xFF,0xFF,0x00,0x34,0x09,0x00,0x04,0x00,0x80,0x00,0x02,0xE6,0xFF,0xEF,0x00,0x8C,0x09,0x30,0x02,0x00,0xC0,0x30,0x02,0x23,0xFE,0xFB,0x00,0xB8,0x08,0x00,0x20,0x30,0x40,0x10,0x03,0x11,0xFC,0xFF,0x00,0xE0,0x00,0x0C,0x04,0x30,0xC0,0x98,0x81,0x18,0xE4,0x7F,0x00,0x00,0x00,0x00,0x00,0x20,0x80,0x98,0x40,0x0C,0x27,0x7F,0x00,0x00,0x00,0x00,0x00,0x20,0x80,0x71,0x60,0x06,0x21,0x38,0x00,0x00,0x00,0x08,0x00,0x20,0x10,0x03,0x40,0x0C,0x31,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x02,0x80,0x8C,0x09,0x00,0x00,0x00,0x1C,0x40,0x18,0x40,0x10,0x06,0xC0,0xC4,0x04,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x10,0x00,0x40,0xC2,0x04,0x00,0x00,0x00,0x00,0x00,0x7E,0x00,0xD0,0x00,0x20,0xC1,0x0C,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x70,0x00,0x94,0xC1,0x0F,0x00,0x00,0x80,0x19,0x80,0xFF,0x00,0x70,0x00,0xDC,0x00,0x00,0x00,0x00,0x00,0x02,0xC0,0xFF,0x01,0x58,0x01,0x44,0x00,0x00,0x00,0x00,0x90,0x00,0xC0,0xFF,0x01,0xC0,0x00,0x44,0x00,0x00,0x00,0x00,0x30,0x18,0xC0,0xFF,0x03,0xC0,0x00,0x64,0x00,0x00,0x20,0x00,0x40,0x10,0xC0,0xFF,0x03,0xA0,0x00,0x1C,0x00,0x00,0x38,0x00,0x40,0x20,0xC0,0xFF,0x03,0xA0,0x00,0x00,0x00,0x00,0x70,0x00,0x80,0x54,0xC0,0xFF,0x01,0x80,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x04,0x80,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x01,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00'],
    [{ 'src': require('../media/oled_icons/face/Expressions/Talking.png'), 'width': 35, 'height': 25, 'alt': 'Talking' }, 'Talking,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0x03,0x00,0x00,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0xF0,0x3F,0x00,0x00,0x00,0xE0,0x3F,0x00,0x00,0x00,0x00,0x00,0xFC,0x03,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,0xF0,0x03,0x00,0x00,0x00,0xC0,0x0F,0x00,0x00,0x00,0x00,0x00,0xC0,0x0F,0x00,0x00,0x00,0xE0,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x00,0x00,0x00,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x01,0x00,0x00,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x03,0x00,0x80,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0xC0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x00,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x00,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x00,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x00,0xC0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x00,0x80,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x80,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x07,0x00,0x00,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x03,0x00,0x00,0x3E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x00,0x00,0x00,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x00,0x00,0x00,0xF0,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x00,0x00,0x00,0xC0,0x0F,0x00,0x00,0x00,0x00,0x00,0x80,0x1F,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00,0x00,0xF0,0x07,0x00,0x00,0x00,0x00,0xFC,0x01,0x00,0x00,0x00,0x00,0xFC,0x01,0x00,0x00,0x00,0x00,0xF0,0x0F,0x00,0x00,0x00,0x80,0x7F,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0x01,0x00,0x00,0xFC,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x0F,0x00,0xFC,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x1F,0xC0,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0xE0,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8E,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE7,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00'],
    [{ 'src': require('../media/oled_icons/face/Expressions/Wink.png'), 'width': 35, 'height': 25, 'alt': 'Wink' }, 'Wink,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x07,0x00,0xE0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x3F,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x3F,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x10,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0xC0,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x00,0xF0,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x00,0x7E,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0x3F,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00'],
    [{ 'src': require('../media/oled_icons/face/Expressions/ZZZ.png'), 'width': 35, 'height': 25, 'alt': 'ZZZ' }, 'ZZZ,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0xFF,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0xFF,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0x07,0x00,0x00,0x00,0x00,0x80,0x1F,0x00,0x00,0x00,0xC0,0xFF,0x03,0x00,0x00,0x00,0x00,0xFE,0x3A,0x00,0x00,0x00,0xE0,0xFF,0x01,0x00,0x00,0x00,0xE0,0xFF,0x3F,0x00,0x00,0x00,0xF0,0xFF,0x00,0x00,0x00,0x00,0xF0,0xFF,0x3F,0x00,0x00,0x00,0xF8,0x7F,0x00,0x00,0x00,0x00,0xF0,0xFF,0x3F,0x00,0x00,0x00,0xFC,0x3F,0x00,0x00,0x00,0x00,0xE0,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0x0F,0x00,0x00,0x00,0xE0,0xFF,0x1F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x01,0x00,0x00,0xE0,0xEF,0x1F,0x00,0x00,0x00,0xFE,0xFF,0xBF,0x01,0x00,0x00,0x20,0xE0,0x0F,0x00,0x00,0x00,0xFE,0xFF,0x7F,0x81,0xFF,0x3F,0x00,0xF0,0x07,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x81,0xFF,0x6F,0x00,0xF8,0x07,0x00,0x00,0x00,0xFE,0xFF,0x7F,0x81,0xFF,0x5F,0x00,0xF8,0x03,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x81,0xFF,0x7F,0x00,0xFC,0x03,0x00,0x00,0x00,0xE0,0xFF,0xFF,0x81,0xFF,0x3F,0x00,0xFC,0x01,0x00,0x00,0x00,0x00,0xC0,0xFF,0x01,0xDF,0x3F,0x00,0xFE,0x01,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0xC0,0x1F,0x00,0xFE,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x0F,0x00,0xFF,0xBE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x0F,0x00,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x07,0x80,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x03,0x80,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x01,0x80,0xFF,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x01,0x80,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x00,0x80,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x7F,0x80,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0x5F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x80,0xFF,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x87,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x8D,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x0F,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0xE0,0x01,0x00,0x00,0x00,0x00,0x00,0x80,0x1F,0x00,0x00,0x00,0xF0,0x01,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0x00,0x00,0x00,0x80,0x01,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0x03,0x00,0x00,0xC0,0x01,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0x02,0x00,0x00,0xC0,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x03,0x00,0x00,0xC0,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x03,0x00,0x00,0xC0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00'],
];

// 0.96OLED显示-设置图标（表情）
export const yf_oled_face = {
    init: function () {
        this.setColour(yfrobotColor_dis);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.DISPLAY)
            .appendField(new Blockly.FieldTextInput("u8g2"), "NAME")
            .appendField(Blockly.Msg.OLED_BITMAP);
        this.appendValueInput("POS_X", Number)
            .appendField(Blockly.Msg.OLED_START_X)
            .setCheck(Number);
        this.appendValueInput("POS_Y", Number)
            .appendField(Blockly.Msg.OLED_START_Y)
            .setCheck(Number);
        this.appendDummyInput()
            .appendField(Blockly.Msg.OLED_ICON)
            .appendField(new Blockly.FieldDropdown(FACE_IMAGE), 'FACE_IMAGE');
        this.setInputsInline(true);
        this.setPreviousStatement(true);
        this.setNextStatement(true);
        this.setTooltip(Blockly.oled_setFont_tooltip);
    }
};

// 0.96OLED显示-画点
export const yf_oled_drawPixel = {
    init: function () {
        this.setColour(yfrobotColor_dis);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.DISPLAY)
            .appendField(new Blockly.FieldTextInput("u8g2"), "NAME")
            .appendField(Blockly.Msg.OLED_DRAWPIXEL);
        this.appendValueInput("POS_X", Number)
            .appendField(Blockly.Msg.OLED_POSX)
            .setCheck(Number);
        this.appendValueInput("POS_Y", Number)
            .appendField(Blockly.Msg.OLED_POSY)
            .setCheck(Number);
        this.setInputsInline(true);
        this.setPreviousStatement(true);
        this.setNextStatement(true);
        this.setTooltip(Blockly.OLED_DRAW_PIXE_TOOLTIP);
    }
};

// 0.96OLED显示-画线
export const yf_oled_drawLine = {
    init: function () {
        this.setColour(yfrobotColor_dis);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.DISPLAY)
            .appendField(new Blockly.FieldTextInput("u8g2"), "NAME")
            .appendField(Blockly.Msg.OLED_DRAWLINE);
        this.appendValueInput("START_X", Number)
            .appendField(Blockly.Msg.OLED_START_X)
            .setCheck(Number);
        this.appendValueInput("START_Y", Number)
            .appendField(Blockly.Msg.OLED_START_Y)
            .setCheck(Number);
        this.appendValueInput("END_X", Number)
            .appendField(Blockly.Msg.OLED_END_X)
            .setCheck(Number);
        this.appendValueInput("END_Y", Number)
            .appendField(Blockly.Msg.OLED_END_Y)
            .setCheck(Number);
        this.setInputsInline(true);
        this.setPreviousStatement(true);
        this.setNextStatement(true);
        this.setTooltip(Blockly.OLED_DRAW_LINE_TOOLTIP);
    }
};

var LINESELECT = [
    [Blockly.Msg.OLED_HOR, "H"],
    [Blockly.Msg.OLED_VER, "V"]
];

// 0.96OLED显示-画直线
export const yf_oled_draw_Str_Line = {
    init: function () {
        this.setColour(yfrobotColor_dis);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.DISPLAY)
            .appendField(new Blockly.FieldTextInput("u8g2"), "NAME")
            .appendField(Blockly.Msg.OLED_DRAWSTRLINE);
        this.appendValueInput("START_X", Number)
            .appendField(Blockly.Msg.OLED_START_X)
            .setCheck(Number);
        this.appendValueInput("START_Y", Number)
            .appendField(Blockly.Msg.OLED_START_Y)
            .setCheck(Number);
        this.appendValueInput("LENGTH", Number)
            .appendField(Blockly.Msg.OLED_LENGTH)
            .setCheck(Number);
        this.appendDummyInput("")
            .appendField(new Blockly.FieldDropdown(LINESELECT), "TYPE");
        this.setInputsInline(true);
        this.setPreviousStatement(true);
        this.setNextStatement(true);
        this.setTooltip("x(0~127),y(0~63)");
    }
};

// 0.96OLED显示-画三角
export const yf_oled_drawTriangle = {
    init: function () {
        this.setColour(yfrobotColor_dis);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.DISPLAY)
            .appendField(new Blockly.FieldTextInput("u8g2"), "NAME")
            .appendField(Blockly.Msg.OLED_DRAW_TRIANGLE);
        this.appendValueInput("D0_X", Number)
            .appendField(Blockly.Msg.OLED_D0_X)
            .setCheck(Number);
        this.appendValueInput("D0_Y", Number)
            .appendField(Blockly.Msg.OLED_D0_Y)
            .setCheck(Number);
        this.appendValueInput("D1_X", Number)
            .appendField(Blockly.Msg.OLED_D1_X)
            .setCheck(Number);
        this.appendValueInput("D1_Y", Number)
            .appendField(Blockly.Msg.OLED_D1_Y)
            .setCheck(Number);
        this.appendValueInput("D2_X", Number)
            .appendField(Blockly.Msg.OLED_D2_X)
            .setCheck(Number);
        this.appendValueInput("D2_Y", Number)
            .appendField(Blockly.Msg.OLED_D2_Y)
            .setCheck(Number);
        this.setInputsInline(true);
        this.setPreviousStatement(true);
        this.setNextStatement(true);
        this.setTooltip("");
    }
};

var FRAMESELECT = [
    [Blockly.Msg.OLED_HOLLOW, "drawFrame"],
    [Blockly.Msg.OLED_SOLID, "drawBox"]
];

// 0.96OLED显示-画长方形
export const yf_oled_drawFrame = {
    init: function () {
        this.setColour(yfrobotColor_dis);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.DISPLAY)
            .appendField(new Blockly.FieldTextInput("u8g2"), "NAME")
            .appendField(Blockly.Msg.OLED_DRAW_RECTANGLE);
        this.appendDummyInput("")
            .appendField(new Blockly.FieldDropdown(FRAMESELECT), "TYPE");
        this.appendValueInput("D0_X", Number)
            .appendField(Blockly.Msg.OLED_L_U_X)
            .setCheck(Number);
        this.appendValueInput("D0_Y", Number)
            .appendField(Blockly.Msg.OLED_L_U_Y)
            .setCheck(Number);
        this.appendValueInput("WIDTH", Number)
            .appendField(Blockly.Msg.MIXLY_WIDTH)
            .setCheck(Number);
        this.appendValueInput("HEIGHT", Number)
            .appendField(Blockly.Msg.MIXLY_HEIGHT)
            .setCheck(Number);
        this.setInputsInline(true);
        this.setPreviousStatement(true);
        this.setNextStatement(true);
        this.setTooltip("x(0~127),y(0~63)");
    }
};

var RADSELECT = [
    [Blockly.Msg.OLED_HOLLOW, "drawRFrame"],
    [Blockly.Msg.OLED_SOLID, "drawRBox"]
];

// 0.96OLED显示-画圆角矩形
export const yf_oled_drawRFrame = {
    init: function () {
        this.setColour(yfrobotColor_dis);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.DISPLAY)
            .appendField(new Blockly.FieldTextInput("u8g2"), "NAME")
            .appendField(Blockly.Msg.OLED_DRAW_RAD_RECTANGLE);
        this.appendDummyInput("")
            .appendField(new Blockly.FieldDropdown(RADSELECT), "TYPE");
        this.appendValueInput("D0_X", Number)
            .appendField(Blockly.Msg.OLED_L_U_X)
            .setCheck(Number);
        this.appendValueInput("D0_Y", Number)
            .appendField(Blockly.Msg.OLED_L_U_Y)
            .setCheck(Number);
        this.appendValueInput("WIDTH", Number)
            .appendField(Blockly.Msg.MIXLY_WIDTH)
            .setCheck(Number);
        this.appendValueInput("HEIGHT", Number)
            .appendField(Blockly.Msg.MIXLY_HEIGHT)
            .setCheck(Number);
        this.appendValueInput("RADIUS", Number)
            .appendField(Blockly.Msg.OLED_RADIUS)
            .setCheck(Number);
        this.setInputsInline(true);
        this.setPreviousStatement(true);
        this.setNextStatement(true);
        this.setTooltip("x(0~127),y(0~63)");
    }
};

var CIRCLESELECT = [
    [Blockly.Msg.OLED_HOLLOW, "drawCircle"],
    [Blockly.Msg.OLED_SOLID, "drawDisc"]
];

var CIRCLEOPTELECT = [
    [Blockly.Msg.OLED_WHOLE_CICILE, "U8G2_DRAW_ALL"],
    [Blockly.Msg.OLED_UP_R, "U8G2_DRAW_UPPER_RIGHT"],
    [Blockly.Msg.OLED_UP_L, "U8G2_DRAW_UPPER_LEFT"],
    [Blockly.Msg.OLED_LOW_R, "U8G2_DRAW_LOWER_RIGHT"],
    [Blockly.Msg.OLED_LOW_L, "U8G2_DRAW_LOWER_LEFT"]
];

// 0.96OLED显示-画圆（空心，实心）
export const yf_oled_drawCircle = {
    init: function () {
        this.setColour(yfrobotColor_dis);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.DISPLAY)
            .appendField(new Blockly.FieldTextInput("u8g2"), "NAME")
            .appendField(Blockly.Msg.OLED_DRAW_CIRCLE);
        this.appendDummyInput("")
            .appendField(new Blockly.FieldDropdown(CIRCLESELECT), "TYPE");
        this.appendValueInput("D0_X", Number)
            .appendField(Blockly.Msg.OLED_CENTER_CIRCLE_X)
            .setCheck(Number);
        this.appendValueInput("D0_Y", Number)
            .appendField(Blockly.Msg.OLED_CENTER_CIRCLE_Y)
            .setCheck(Number);
        this.appendValueInput("RADIUS", Number)
            .appendField(Blockly.Msg.OLED_CIRCLE_RADIUS)
            .setCheck(Number);
        this.appendDummyInput("")
            .appendField(new Blockly.FieldDropdown(CIRCLEOPTELECT), "OPT");
        this.setInputsInline(true);
        this.setPreviousStatement(true);
        this.setNextStatement(true);
        this.setTooltip("x(0~127),y(0~63)");
    }
};

var ELLIPSESELECT = [
    [Blockly.Msg.OLED_HOLLOW, "drawEllipse"],
    [Blockly.Msg.OLED_SOLID, "drawFilledEllipse"]
];

// 0.96OLED显示-画椭圆（空心，实心）
export const yf_oled_drawEllipse = {
    init: function () {
        this.setColour(yfrobotColor_dis);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.DISPLAY)
            .appendField(new Blockly.FieldTextInput("u8g2"), "NAME")
            .appendField(Blockly.Msg.OLED_DRAW_ELLIPSE);
        this.appendDummyInput("")
            .appendField(new Blockly.FieldDropdown(ELLIPSESELECT), "TYPE");
        this.appendValueInput("D0_X", Number)
            .appendField(Blockly.Msg.OLED_CENTER_CIRCLE_X)
            .setCheck(Number);
        this.appendValueInput("D0_Y", Number)
            .appendField(Blockly.Msg.OLED_CENTER_CIRCLE_Y)
            .setCheck(Number);
        this.appendValueInput("RADIUS_X", Number)
            .appendField(Blockly.Msg.OLED_ELLIPSE_RADIUS_X)
            .setCheck(Number);
        this.appendValueInput("RADIUS_Y", Number)
            .appendField(Blockly.Msg.OLED_ELLIPSE_RADIUS_Y)
            .setCheck(Number);
        this.appendDummyInput("")
            .appendField(new Blockly.FieldDropdown(CIRCLEOPTELECT), "OPT");
        this.setInputsInline(true);
        this.setPreviousStatement(true);
        this.setNextStatement(true);
        this.setTooltip(Blockly.OLED_DRAW_ELLIPSE_TOOLTIP);
    }
};

// 0.96OLED显示-显示字符串
export const yf_oled_drawStr = {
    init: function () {
        this.setColour(yfrobotColor_dis);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.DISPLAY)
            .appendField(new Blockly.FieldTextInput("u8g2"), "NAME")
            .appendField(Blockly.Msg.OLED_DRAWSTR);
        this.appendValueInput("POS_X", Number)
            .appendField(Blockly.Msg.OLED_START_X)
            .setCheck(Number);
        this.appendValueInput("POS_Y", Number)
            .appendField(Blockly.Msg.OLED_START_Y)
            .setCheck(Number);
        this.appendValueInput("TEXT", String)
            .appendField(Blockly.Msg.OLED_STRING)
            .setCheck([Number, String]);
        this.setInputsInline(true);
        this.setPreviousStatement(true);
        this.setNextStatement(true);
        this.setTooltip("x(0~127),y(0~63)");
    }
};

var EN_FONT_NAME = [
    ["Times New Roman", "tim"],
    ["Helvetica", "helv"],
    ["ncen", "ncen"],
    ["courier new", "cour"]
];

var EN_FONT_SIZE = [
    ["08", "08"],
    ["10", "10"],
    ["12", "12"],
    ["14", "14"],
    ["18", "18"],
    ["24", "24"],
];

var EN_FONT_STYLE = [
    ["常规", "R"],
    ["加粗", "B"]
];

// 0.96OLED显示-设置字体
export const yf_oled_set_EN_Font = {
    init: function () {
        this.setColour(yfrobotColor_dis);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.DISPLAY)
            .appendField(new Blockly.FieldTextInput("u8g2"), "NAME")
            .appendField(Blockly.Msg.set_EN_Font)
            .appendField(new Blockly.FieldDropdown(EN_FONT_NAME), "FONT_NAME");
        this.appendDummyInput("")
            .appendField(Blockly.Msg.FontSize)
            .appendField(new Blockly.FieldDropdown(EN_FONT_SIZE), "FONT_SIZE");
        this.appendDummyInput("")
            .appendField(Blockly.Msg.Font_Style)
            .appendField(new Blockly.FieldDropdown(EN_FONT_STYLE), "FONT_STYLE");
        this.setInputsInline(true);
        this.setPreviousStatement(true);
        this.setNextStatement(true);
        this.setTooltip(Blockly.oled_setFont_tooltip);
    }
};

var CN_FONT_NAME = [
    [Blockly.Msg.OLED_FONT_chinese1, "_t_chinese1"],
    [Blockly.Msg.OLED_FONT_chinese2, "_t_chinese2"],
    [Blockly.Msg.OLED_FONT_chinese3, "_t_chinese3"],
    [Blockly.Msg.OLED_FONT_gb2312a, "_t_gb2312a"],
    [Blockly.Msg.OLED_FONT_gb2312b, "_t_gb2312b"],
    [Blockly.Msg.OLED_FONT_gb2312, "_t_gb2312"],
];

var CN_FONT_SIZE = [
    ["12", "wqy12"],
    ["13", "wqy13"],
    ["14", "wqy14"],
    ["15", "wqy15"],
    ["16", "wqy16"],
];

// 0.96OLED显示-设置字体
export const yf_oled_set_CN_Font = {
    init: function () {
        this.setColour(yfrobotColor_dis);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.DISPLAY)
            .appendField(new Blockly.FieldTextInput("u8g2"), "NAME")
            .appendField(Blockly.Msg.set_CN_Font)
            .appendField(new Blockly.FieldDropdown(CN_FONT_NAME), "FONT_NAME");
        this.appendDummyInput("")
            .appendField(Blockly.Msg.FontSize)
            .appendField(new Blockly.FieldDropdown(CN_FONT_SIZE), "FONT_SIZE");
        this.setInputsInline(true);
        this.setPreviousStatement(true);
        this.setNextStatement(true);
        this.setTooltip(Blockly.oled_setFont_tooltip);
    }
};

// 0.96OLED显示-显示字符串
export const yf_oled_print = {
    init: function () {
        this.setColour(yfrobotColor_dis);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.DISPLAY)
            .appendField(new Blockly.FieldTextInput("u8g2"), "NAME")
            .appendField(Blockly.Msg.OLED_PRINT_VAR);
        this.appendValueInput("POS_X", Number)
            .appendField(Blockly.Msg.OLED_START_X)
            .setCheck(Number);
        this.appendValueInput("POS_Y", Number)
            .appendField(Blockly.Msg.OLED_START_Y)
            .setCheck(Number);
        this.appendValueInput("TEXT", String)
            .appendField(Blockly.Msg.OLED_STRING)
            .setCheck([Number, String]);
        this.setInputsInline(true);
        this.setPreviousStatement(true);
        this.setNextStatement(true);
        this.setTooltip(Blockly.oled_print_tooltip);
    }
};

// 0.96OLED显示-背光亮度
export const yf_u8g2_setContrast = {
    init: function () {
        this.appendValueInput("Contrast")
            .setCheck(null)
            .appendField(Blockly.Msg.DISPLAY)
            .appendField(new Blockly.FieldTextInput("u8g2"), "NAME")
            .appendField(Blockly.Msg.TFT_Brightness + Blockly.Msg.MIXLY_BRIGHTNESS);
        this.appendDummyInput();
        this.setPreviousStatement(true, null);
        this.setNextStatement(true, null);
        this.setColour(yfrobotColor_dis);
        this.setTooltip(Blockly.Msg.MIXLY_U8G2_SETCONTRAST_HELP);
        this.setHelpUrl("");
    }
};

/************ Matrix57 点阵显示 *****************/
// Matrix57 点阵显示 - 初始化
export const yf_dotMatrix57_init = {
    init: function () {
        this.setColour(yfrobotColor_dis);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_YFLEGO_57DOTMATRIX)
        this.appendValueInput("PINCLK")
            .setCheck(Number)
            .setAlign(Blockly.ALIGN_RIGHT)
            .appendField("CLK")
            .appendField(Blockly.Msg.MIXLY_PIN);
        this.appendValueInput("PINDAT")
            .setCheck(Number)
            .setAlign(Blockly.ALIGN_RIGHT)
            .appendField("DIO")
            .appendField(Blockly.Msg.MIXLY_PIN);
        this.setInputsInline(true);
        this.setPreviousStatement(true, null);
        this.setNextStatement(true, null);
    }
};

// Matrix57 点阵显示 - 清屏
export const yf_dotMatrix57_clear = {
    init: function () {
        this.setColour(yfrobotColor_dis);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_YFLEGO_57DOTMATRIX)
            .appendField(Blockly.Msg.MIXLY_YFLEGO_57DOTMATRIX_CLEAR);
        this.setPreviousStatement(true);
        this.setNextStatement(true);
        this.setTooltip();
    }
};

// Matrix57 点阵显示 - 设置亮度
export const yf_dotMatrix57_Brightness = {
    init: function () {
        this.setColour(yfrobotColor_dis);
        this.appendDummyInput()
            .appendField(Blockly.Msg.MIXLY_YFLEGO_57DOTMATRIX)
        this.appendValueInput('brightness')
            .appendField(Blockly.Msg.MIXLY_YFLEGO_57DOTMATRIX_BRIGHTNESS);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_YFLEGO_57DOTMATRIX_BRIGHTNESS_RANGE);
        this.setPreviousStatement(true);
        this.setNextStatement(true);
        this.setInputsInline(true);
        this.setTooltip("亮度等级范围：0~7");
    }
};

// Matrix57 点阵显示 - 选择数组
export const yf_dotMatrix57_CharArray = {
    init: function () {
        this.setColour(yfrobotColor_dis);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_YFLEGO_57DOTMATRIX_CHAR)
            .appendField(new Blockly.FieldTextInput("array"), "VAR");
        this.appendDummyInput("")
            .appendField(new Blockly.FieldCheckbox("FALSE"), "a11")
            .appendField(new Blockly.FieldCheckbox("FALSE"), "a12")
            .appendField(new Blockly.FieldCheckbox("FALSE"), "a13")
            .appendField(new Blockly.FieldCheckbox("FALSE"), "a14")
            .appendField(new Blockly.FieldCheckbox("FALSE"), "a15")
            .appendField(new Blockly.FieldCheckbox("FALSE"), "a16")
            .appendField(new Blockly.FieldCheckbox("FALSE"), "a17");
        this.appendDummyInput("")
            .appendField(new Blockly.FieldCheckbox("FALSE"), "a21")
            .appendField(new Blockly.FieldCheckbox("FALSE"), "a22")
            .appendField(new Blockly.FieldCheckbox("FALSE"), "a23")
            .appendField(new Blockly.FieldCheckbox("FALSE"), "a24")
            .appendField(new Blockly.FieldCheckbox("FALSE"), "a25")
            .appendField(new Blockly.FieldCheckbox("FALSE"), "a26")
            .appendField(new Blockly.FieldCheckbox("FALSE"), "a27");
        this.appendDummyInput("")
            .appendField(new Blockly.FieldCheckbox("FALSE"), "a31")
            .appendField(new Blockly.FieldCheckbox("FALSE"), "a32")
            .appendField(new Blockly.FieldCheckbox("FALSE"), "a33")
            .appendField(new Blockly.FieldCheckbox("FALSE"), "a34")
            .appendField(new Blockly.FieldCheckbox("FALSE"), "a35")
            .appendField(new Blockly.FieldCheckbox("FALSE"), "a36")
            .appendField(new Blockly.FieldCheckbox("FALSE"), "a37");
        this.appendDummyInput("")
            .appendField(new Blockly.FieldCheckbox("FALSE"), "a41")
            .appendField(new Blockly.FieldCheckbox("FALSE"), "a42")
            .appendField(new Blockly.FieldCheckbox("FALSE"), "a43")
            .appendField(new Blockly.FieldCheckbox("FALSE"), "a44")
            .appendField(new Blockly.FieldCheckbox("FALSE"), "a45")
            .appendField(new Blockly.FieldCheckbox("FALSE"), "a46")
            .appendField(new Blockly.FieldCheckbox("FALSE"), "a47");
        this.appendDummyInput("")
            .appendField(new Blockly.FieldCheckbox("FALSE"), "a51")
            .appendField(new Blockly.FieldCheckbox("FALSE"), "a52")
            .appendField(new Blockly.FieldCheckbox("FALSE"), "a53")
            .appendField(new Blockly.FieldCheckbox("FALSE"), "a54")
            .appendField(new Blockly.FieldCheckbox("FALSE"), "a55")
            .appendField(new Blockly.FieldCheckbox("FALSE"), "a56")
            .appendField(new Blockly.FieldCheckbox("FALSE"), "a57");
        this.setOutput(true, Number);
        this.setTooltip('');
    }
};

// Matrix57 点阵显示 - 全屏
export const yf_dotMatrix57_displayC = {
    init: function () {
        this.setColour(yfrobotColor_dis);
        this.appendDummyInput()
            .appendField(Blockly.Msg.MIXLY_YFLEGO_57DOTMATRIX)
            .appendField(Blockly.Msg.MIXLY_YFLEGO_57DOTMATRIX_DISPLAY);
        this.appendValueInput("Chars")
            .setCheck(Number)
            .setAlign(Blockly.ALIGN_RIGHT);
        this.setPreviousStatement(true, null);
        this.setInputsInline(true);
        this.setNextStatement(true, null);
    }
};

// Matrix57 点阵显示 - 点
export const yf_dotMatrix57_displayDot = {
    init: function () {
        this.setColour(yfrobotColor_dis);
        this.appendDummyInput()
            .appendField(Blockly.Msg.MIXLY_YFLEGO_57DOTMATRIX)
            .appendField(Blockly.Msg.MIXLY_YFLEGO_57DOTMATRIX_DISPLAY);
        this.appendValueInput("row", Number)
            .setCheck(Number)
            .setAlign(Blockly.ALIGN_RIGHT)
            .appendField(Blockly.Msg.MIXLY_YFLEGO_57DOTMATRIX_ROW);
        this.appendValueInput("column", Number)
            .setCheck(Number)
            .setAlign(Blockly.ALIGN_RIGHT)
            .appendField(Blockly.Msg.MIXLY_YFLEGO_57DOTMATRIX_COL);
        this.setPreviousStatement(true, null);
        this.setInputsInline(true);
        this.setNextStatement(true, null);
    }
};

/******************** LCD 1602  ********************/
// Lcd Init - lcd初始化
export const yf_lcd_init = {
    init: function () {
        this.setColour(yfrobotColor_dis);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_YF_LCD)
            .appendField(new Blockly.FieldImage(require("../media/yf_lcd.png"), 59, 24));
        this.appendValueInput('device')
            .setCheck(Number)
            .setAlign(Blockly.ALIGN_RIGHT)
            .appendField(Blockly.Msg.MIXLY_SETUP)
            // .appendField(new Blockly.FieldDropdown([['1602','16,2'],['2004','20,4']]),'TYPE')
            .appendField(new Blockly.FieldTextInput('yf_lcd'), 'VAR')
            .appendField(Blockly.Msg.MIXLY_LCD_ADDRESS);
        this.setPreviousStatement(true, null);
        this.setNextStatement(true, null);
        this.setInputsInline(true);
    }
};

// Lcd Print - lcd打印-双行字符打印
export const yf_lcd_print = {
    init: function () {
        this.setColour(yfrobotColor_dis);
        this.appendValueInput("TEXT", String)
            .setCheck([String, Number])
            .setAlign(Blockly.ALIGN_CENTER)
            .appendField(Blockly.Msg.MIXLY_YF_LCD)
            .appendField(new Blockly.FieldImage(require("../media/yf_lcd.png"), 59, 24))
            .appendField(new Blockly.FieldTextInput('yf_lcd'), 'VAR')
            .appendField(Blockly.Msg.MIXLY_LCD_PRINT1);
        this.appendValueInput("TEXT2", String)
            .setCheck([String, Number])
            .setAlign(Blockly.ALIGN_RIGHT)
            .appendField(Blockly.Msg.MIXLY_LCD_PRINT2);

        this.setPreviousStatement(true, null);
        this.setNextStatement(true, null);
    }
};

// Lcd Print - lcd打印-位置
export const yf_lcd_print2 = {
    init: function () {
        this.setColour(yfrobotColor_dis);
        this.appendDummyInput()
            .appendField(Blockly.Msg.MIXLY_YF_LCD)
            .appendField(new Blockly.FieldImage(require("../media/yf_lcd.png"), 59, 24));
        this.appendValueInput("row", Number)
            .setCheck(Number)
            .setAlign(Blockly.ALIGN_RIGHT)
            .appendField(new Blockly.FieldTextInput('yf_lcd'), 'VAR')
            .appendField(Blockly.Msg.MIXLY_LCD_ROW);
        this.appendValueInput("column", Number)
            .setCheck(Number)
            .setAlign(Blockly.ALIGN_RIGHT)
            .appendField(Blockly.Msg.MIXLY_LCD_COLUMN);
        this.appendValueInput("TEXT", String)
            .setCheck([String, Number])
            .setAlign(Blockly.ALIGN_RIGHT)
            .appendField(Blockly.Msg.MIXLY_LCD_PRINT);
        this.setPreviousStatement(true, null);
        this.setInputsInline(true);
        this.setNextStatement(true, null);
    }
};

var YF_LCD_POWER_FUN = [
    [Blockly.Msg.MIXLY_LCD_BACKLIGHT, "backlight"], [Blockly.Msg.MIXLY_LCD_NOBACKLIGHT, "noBacklight"],
    [Blockly.Msg.MIXLY_LCD_STAT_ON, "display"], [Blockly.Msg.MIXLY_LCD_STAT_OFF, "noDisplay"],
    [Blockly.Msg.MIXLY_LCD_STAT_CURSOR, "cursor"], [Blockly.Msg.MIXLY_LCD_STAT_NOCURSOR, "noCursor"],
    [Blockly.Msg.MIXLY_LCD_STAT_BLINK, "blink"], [Blockly.Msg.MIXLY_LCD_STAT_NOBLINK, "noBlink"],
    [Blockly.Msg.MIXLY_LCD_STAT_CLEAR, "clear"]
];
// Lcd Power - lcd功能
export const yf_lcd_power = {
    init: function () {
        this.setColour(yfrobotColor_dis);
        this.appendDummyInput()
            .appendField(Blockly.Msg.MIXLY_YF_LCD)
            .appendField(new Blockly.FieldImage(require("../media/yf_lcd.png"), 59, 24))
            .appendField(new Blockly.FieldTextInput('yf_lcd'), 'VAR')
            .appendField(new Blockly.FieldDropdown(YF_LCD_POWER_FUN), 'STAT');
        this.setPreviousStatement(true, null);
        this.setInputsInline(true);
        this.setNextStatement(true, null);
    }
};

//显示 - 选择数组
export const CharArray = {
    init: function () {
        this.setColour(yfrobotColor_dis);
        this.appendDummyInput("").appendField(Blockly.Msg.MIXLY_YF_LCD_CHAR).appendField(new Blockly.FieldTextInput("CharArray"), "VAR");
        this.appendDummyInput("").appendField(new Blockly.FieldCheckbox("FALSE"), "a11").appendField(new Blockly.FieldCheckbox("FALSE"), "a12").appendField(new Blockly.FieldCheckbox("FALSE"), "a13").appendField(new Blockly.FieldCheckbox("FALSE"), "a14").appendField(new Blockly.FieldCheckbox("FALSE"), "a15");
        this.appendDummyInput("").appendField(new Blockly.FieldCheckbox("FALSE"), "a21").appendField(new Blockly.FieldCheckbox("FALSE"), "a22").appendField(new Blockly.FieldCheckbox("FALSE"), "a23").appendField(new Blockly.FieldCheckbox("FALSE"), "a24").appendField(new Blockly.FieldCheckbox("FALSE"), "a25");
        this.appendDummyInput("").appendField(new Blockly.FieldCheckbox("FALSE"), "a31").appendField(new Blockly.FieldCheckbox("FALSE"), "a32").appendField(new Blockly.FieldCheckbox("FALSE"), "a33").appendField(new Blockly.FieldCheckbox("FALSE"), "a34").appendField(new Blockly.FieldCheckbox("FALSE"), "a35");
        this.appendDummyInput("").appendField(new Blockly.FieldCheckbox("FALSE"), "a41").appendField(new Blockly.FieldCheckbox("FALSE"), "a42").appendField(new Blockly.FieldCheckbox("FALSE"), "a43").appendField(new Blockly.FieldCheckbox("FALSE"), "a44").appendField(new Blockly.FieldCheckbox("FALSE"), "a45");
        this.appendDummyInput("").appendField(new Blockly.FieldCheckbox("FALSE"), "a51").appendField(new Blockly.FieldCheckbox("FALSE"), "a52").appendField(new Blockly.FieldCheckbox("FALSE"), "a53").appendField(new Blockly.FieldCheckbox("FALSE"), "a54").appendField(new Blockly.FieldCheckbox("FALSE"), "a55");
        this.appendDummyInput("").appendField(new Blockly.FieldCheckbox("FALSE"), "a61").appendField(new Blockly.FieldCheckbox("FALSE"), "a62").appendField(new Blockly.FieldCheckbox("FALSE"), "a63").appendField(new Blockly.FieldCheckbox("FALSE"), "a64").appendField(new Blockly.FieldCheckbox("FALSE"), "a65");
        this.appendDummyInput("").appendField(new Blockly.FieldCheckbox("FALSE"), "a71").appendField(new Blockly.FieldCheckbox("FALSE"), "a72").appendField(new Blockly.FieldCheckbox("FALSE"), "a73").appendField(new Blockly.FieldCheckbox("FALSE"), "a74").appendField(new Blockly.FieldCheckbox("FALSE"), "a75");
        this.appendDummyInput("").appendField(new Blockly.FieldCheckbox("FALSE"), "a81").appendField(new Blockly.FieldCheckbox("FALSE"), "a82").appendField(new Blockly.FieldCheckbox("FALSE"), "a83").appendField(new Blockly.FieldCheckbox("FALSE"), "a84").appendField(new Blockly.FieldCheckbox("FALSE"), "a85");
        this.setOutput(true, Number);
        this.setTooltip('');
    }
};

// lcd 显示自定义字符
export const yf_lcd_write_customChar = {
    init: function () {
        this.setColour(yfrobotColor_dis);
        this.appendDummyInput()
            .appendField(Blockly.Msg.MIXLY_YF_LCD)
            .appendField(new Blockly.FieldImage(require("../media/yf_lcd.png"), 59, 24))
            .appendField(new Blockly.FieldTextInput('yf_lcd'), 'VAR')
        this.appendValueInput("row", Number)
            .setCheck(Number)
            .setAlign(Blockly.ALIGN_RIGHT)
            .appendField(Blockly.Msg.MIXLY_LCD_ROW);
        this.appendValueInput("column", Number)
            .setCheck(Number)
            .setAlign(Blockly.ALIGN_RIGHT)
            .appendField(Blockly.Msg.MIXLY_LCD_COLUMN);
        this.appendValueInput("number", Number)
            .setCheck(Number)
            .setAlign(Blockly.ALIGN_RIGHT)
            .appendField(Blockly.Msg.MIXLY_LCD_PRINT)
            .appendField(Blockly.Msg.MIXLY_YF_LCD_CUSTOMCHAR);
        this.appendValueInput("Chars")
            .setCheck(Number)
            .setAlign(Blockly.ALIGN_RIGHT);
        this.setPreviousStatement(true, null);
        this.setInputsInline(true);
        this.setNextStatement(true, null);
    }
};

// 预设自定义字符
export const yf_lcd_preset_customChar = {
    init: function () {
        this.setColour(yfrobotColor_dis);
        this.appendDummyInput()
            .appendField(Blockly.Msg.MIXLY_YF_LCD_PRESET_CUSTOMCHAR).appendField(new Blockly.FieldDropdown([
                ["♥", "0"], ["🔔", "1"], ["℃", "2"], ["↑", "3"], ["↓", "4"], ["←", "5"], ["→", "6"], ["♀", "7"], ["♂", "8"], ["😊", "9"]
                , ["☹", "10"], ["△", "11"], ["▽", "12"], ["Ω", "13"], ["￥", "14"], ["Χ", "15"], ["✓", "16"], ["©", "17"], ["♪", "18"],
            ]), "pChar_");
        this.setOutput(true);
        this.setInputsInline(true);
    }
};
// lcd 显示自定义预设字符
export const yf_lcd_write_preset_customChar = {
    init: function () {
        this.setColour(yfrobotColor_dis);
        this.appendDummyInput()
            .appendField(Blockly.Msg.MIXLY_YF_LCD)
            .appendField(new Blockly.FieldImage(require("../media/yf_lcd.png"), 59, 24))
            .appendField(new Blockly.FieldTextInput('yf_lcd'), 'VAR')
        this.appendValueInput("row", Number)
            .setCheck(Number)
            .setAlign(Blockly.ALIGN_RIGHT)
            .appendField(Blockly.Msg.MIXLY_LCD_ROW);
        this.appendValueInput("column", Number)
            .setCheck(Number)
            .setAlign(Blockly.ALIGN_RIGHT)
            .appendField(Blockly.Msg.MIXLY_LCD_COLUMN);
        this.appendValueInput("number", Number)
            .setCheck(Number)
            .setAlign(Blockly.ALIGN_RIGHT)
            .appendField(Blockly.Msg.MIXLY_LCD_PRINT)
            .appendField(Blockly.Msg.MIXLY_YF_LCD_CUSTOMCHAR);
        this.appendValueInput("PresetChars")
            .setCheck(Number)
            .setAlign(Blockly.ALIGN_RIGHT);
        this.setPreviousStatement(true, null);
        this.setInputsInline(true);
        this.setNextStatement(true, null);
    }
};

/******************** 88点阵模块  ********************/
// 8x8点阵显示 初始化
export const yf_dotMatrix_init = {
    init: function () {
        this.setColour(yfrobotColor_dis);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_YF_DOTMATRIX)
            .appendField(new Blockly.FieldImage(require("../media/yf_dotMatrix.png"), 32, 32))
            .appendField(Blockly.Msg.MIXLY_SETUP)
        this.appendValueInput("PIN1")
            .setCheck(Number)
            .setAlign(Blockly.ALIGN_RIGHT)
            .appendField("SER")
        this.appendValueInput("PIN2")
            .setCheck(Number)
            .setAlign(Blockly.ALIGN_RIGHT)
            .appendField("RCK")
        this.appendValueInput("PIN3")
            .setCheck(Number)
            .setAlign(Blockly.ALIGN_RIGHT)
            .appendField("SRCK")
        this.setInputsInline(true);
        this.setPreviousStatement(true);
        this.setNextStatement(true);
    }
};

//8X8 DOT MATRIX  -- 自定义显示单点
export const yf_dotMatrix_display_singleDot = {
    init: function () {
        this.setColour(yfrobotColor_dis);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_YF_DOTMATRIX)
            .appendField(new Blockly.FieldImage(require("../media/yf_dotMatrix.png"), 32, 32))
            .appendField(Blockly.Msg.MIXLY_YF_MATRIX_DISPLAY);
        this.appendValueInput("col")
            .setCheck(Number)
            .setAlign(Blockly.ALIGN_RIGHT);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_YF_MATRIX_ROW);
        this.appendValueInput("row")
            .setCheck(Number)
            .setAlign(Blockly.ALIGN_RIGHT);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_YF_MATRIX_COL);
        this.appendValueInput("time")
            .setCheck(Number)
            .setAlign(Blockly.ALIGN_RIGHT)
            .appendField(Blockly.Msg.MIXLY_YF_MATRIX_DISPLAY_TIME);
        this.setInputsInline(true);
        this.setPreviousStatement(true);
        this.setNextStatement(true);

    }
};

//8X8 DOT MATRIX  -- 自定义显示
export const yf_dotMatrix_display = {
    init: function () {
        this.setColour(yfrobotColor_dis);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_YF_DOTMATRIX)
            .appendField(new Blockly.FieldImage(require("../media/yf_dotMatrix.png"), 32, 32))
            .appendField(Blockly.Msg.MIXLY_YF_MATRIX_DISPLAY)
        this.appendValueInput("dotArray")
            .setCheck(Number)
            .setAlign(Blockly.ALIGN_RIGHT);
        this.appendValueInput("time")
            .setCheck(Number)
            .setAlign(Blockly.ALIGN_RIGHT)
            .appendField(Blockly.Msg.MIXLY_YF_MATRIX_DISPLAY_TIME);
        this.setInputsInline(true);
        this.setPreviousStatement(true);
        this.setNextStatement(true);
    }
};

/*  //8X8 DOT MATRIX  -- 数组
export const DotArray = {
    init: function() {
    this.setColour(yfrobotColor_dis);
    this.appendDummyInput("")
        .appendField(Blockly.Msg.MIXLY_YF_LCD_CHAR)
        .appendField(new Blockly.FieldTextInput("dotArray"), "VAR");
    this.appendDummyInput("")
        .appendField(new Blockly.FieldCheckbox("FALSE"), "a11").appendField(new Blockly.FieldCheckbox("FALSE"), "a12")
        .appendField(new Blockly.FieldCheckbox("FALSE"), "a13").appendField(new Blockly.FieldCheckbox("FALSE"), "a14")
        .appendField(new Blockly.FieldCheckbox("FALSE"), "a15").appendField(new Blockly.FieldCheckbox("FALSE"), "a16")
        .appendField(new Blockly.FieldCheckbox("FALSE"), "a17").appendField(new Blockly.FieldCheckbox("FALSE"), "a18");
    this.appendDummyInput("")
        .appendField(new Blockly.FieldCheckbox("FALSE"), "a21").appendField(new Blockly.FieldCheckbox("FALSE"), "a22")
        .appendField(new Blockly.FieldCheckbox("FALSE"), "a23").appendField(new Blockly.FieldCheckbox("FALSE"), "a24")
        .appendField(new Blockly.FieldCheckbox("FALSE"), "a25").appendField(new Blockly.FieldCheckbox("FALSE"), "a26")
        .appendField(new Blockly.FieldCheckbox("FALSE"), "a27").appendField(new Blockly.FieldCheckbox("FALSE"), "a28");
    this.appendDummyInput("")
        .appendField(new Blockly.FieldCheckbox("FALSE"), "a31").appendField(new Blockly.FieldCheckbox("FALSE"), "a32")
        .appendField(new Blockly.FieldCheckbox("FALSE"), "a33").appendField(new Blockly.FieldCheckbox("FALSE"), "a34")
        .appendField(new Blockly.FieldCheckbox("FALSE"), "a35").appendField(new Blockly.FieldCheckbox("FALSE"), "a36")
        .appendField(new Blockly.FieldCheckbox("FALSE"), "a37").appendField(new Blockly.FieldCheckbox("FALSE"), "a38");
    this.appendDummyInput("")
        .appendField(new Blockly.FieldCheckbox("FALSE"), "a41").appendField(new Blockly.FieldCheckbox("FALSE"), "a42")
        .appendField(new Blockly.FieldCheckbox("FALSE"), "a43").appendField(new Blockly.FieldCheckbox("FALSE"), "a44")
        .appendField(new Blockly.FieldCheckbox("FALSE"), "a45").appendField(new Blockly.FieldCheckbox("FALSE"), "a46")
        .appendField(new Blockly.FieldCheckbox("FALSE"), "a47").appendField(new Blockly.FieldCheckbox("FALSE"), "a48");
    this.appendDummyInput("")
        .appendField(new Blockly.FieldCheckbox("FALSE"), "a51").appendField(new Blockly.FieldCheckbox("FALSE"), "a52")
        .appendField(new Blockly.FieldCheckbox("FALSE"), "a53").appendField(new Blockly.FieldCheckbox("FALSE"), "a54")
        .appendField(new Blockly.FieldCheckbox("FALSE"), "a55").appendField(new Blockly.FieldCheckbox("FALSE"), "a56")
        .appendField(new Blockly.FieldCheckbox("FALSE"), "a57").appendField(new Blockly.FieldCheckbox("FALSE"), "a58");
    this.appendDummyInput("")
        .appendField(new Blockly.FieldCheckbox("FALSE"), "a61").appendField(new Blockly.FieldCheckbox("FALSE"), "a62")
        .appendField(new Blockly.FieldCheckbox("FALSE"), "a63").appendField(new Blockly.FieldCheckbox("FALSE"), "a64")
        .appendField(new Blockly.FieldCheckbox("FALSE"), "a65").appendField(new Blockly.FieldCheckbox("FALSE"), "a66")
        .appendField(new Blockly.FieldCheckbox("FALSE"), "a67").appendField(new Blockly.FieldCheckbox("FALSE"), "a68");
    this.appendDummyInput("")
        .appendField(new Blockly.FieldCheckbox("FALSE"), "a71").appendField(new Blockly.FieldCheckbox("FALSE"), "a72")
        .appendField(new Blockly.FieldCheckbox("FALSE"), "a73").appendField(new Blockly.FieldCheckbox("FALSE"), "a74")
        .appendField(new Blockly.FieldCheckbox("FALSE"), "a75").appendField(new Blockly.FieldCheckbox("FALSE"), "a76")
        .appendField(new Blockly.FieldCheckbox("FALSE"), "a77").appendField(new Blockly.FieldCheckbox("FALSE"), "a78");
    this.appendDummyInput("")
        .appendField(new Blockly.FieldCheckbox("FALSE"), "a81").appendField(new Blockly.FieldCheckbox("FALSE"), "a82")
        .appendField(new Blockly.FieldCheckbox("FALSE"), "a83").appendField(new Blockly.FieldCheckbox("FALSE"), "a84")
        .appendField(new Blockly.FieldCheckbox("FALSE"), "a85").appendField(new Blockly.FieldCheckbox("FALSE"), "a86")
        .appendField(new Blockly.FieldCheckbox("FALSE"), "a87").appendField(new Blockly.FieldCheckbox("FALSE"), "a88");
    this.setOutput(true, Number);
    this.setTooltip('');
    }
};*/

//8X8 DOT MATRIX  -- 数组  new
//Blockly.FieldCheckbox.CHECK_CHAR='🔲';  //✖🍀🍁⬛🔲🔴
// Blockly.FieldCheckbox.CHECK_CHAR= new Blockly.FieldImage("https://www.gstatic.com/codesite/ph/images/star_on.gif", 15, 15, "*");
// 自定义 图形化
export const dotArray_CustomArrayGraph = { //
    init: function () {
        this.setColour(yfrobotColor_dis);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_YF_LCD_CHAR)
            .appendField(new Blockly.FieldTextInput("dotArray"), "VAR");

        for (var row = 0; row < 8; row++) {
            var leds = this.appendDummyInput();
            for (var col = 0; col < 8; col++) {
                var cbox = new Blockly.FieldCheckbox(false);
                leds.appendField(cbox, 'a' + row + col);
            }
        }

        this.setOutput(true, Number);
        this.setTooltip('');
    }
};

//8X8 DOT MATRIX  -- 显示 预设图案
export const yf_dotMatrix_preset_display = {
    init: function () {
        this.setColour(yfrobotColor_dis);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_YF_DOTMATRIX)
            .appendField(new Blockly.FieldImage(require("../media/yf_dotMatrix.png"), 32, 32))
            .appendField(Blockly.Msg.MIXLY_YF_MATRIX_DISPLAY)
        this.appendValueInput("presetDotArray")
            .setCheck(Number)
            .setAlign(Blockly.ALIGN_RIGHT);
        this.appendValueInput("time")
            .setCheck(Number)
            .setAlign(Blockly.ALIGN_RIGHT)
            .appendField(Blockly.Msg.MIXLY_YF_MATRIX_DISPLAY_TIME);
        this.setInputsInline(true);
        this.setPreviousStatement(true);
        this.setNextStatement(true);
    }
};

//8X8 DOT MATRIX  -- 预设图案
/*
    表情： 😊 😃 😆 😅 😉 😍 😏 😔 😒
    方向： ↑ ↓️ ← →️ ↖️ ↘️ ↗️ ↙️
    音乐： ♪ ♫  🎧 🎤 📻 🔊 🎺
    动物：🐳 🐟 🐤 🐫 🐘 🐎 🐌 🐍 🐶 🐱 🐮 🐭 🐽 🐾
    家居：🏠 💁 💺 🍴 ☕ 🍸 🍚 🍜 🍄 💡 ☂ 👜 🔨️ ✂
    办公：✉ 📺 ☎ 📱 ⏰ 💲 ¥ ✖ ✔ ✈ 🚙 ⛵
    数字：123456789 10  - + x ÷
    骰子：🎲
    电量：🔋
    天气：☀ ☁ ⛅ ⚡ 🌁 ❄
    其它：☯ 🌵 🌱 🌷 ❤ 💤 ♀ ♂ ■ □ ○ □ ▣ ◇ 卍 卐 大 中 小 米 正
*/

// FACE
var YF_DOTMATRIX_PRESET_IMG_FACE = [
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_face/yf_dotMatrix_smile.png'), 'width': 30, 'height': 30, 'alt': '😊' }, '0060640202646000'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_face/yf_dotMatrix_sad.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_sad' }, '0060620404626000'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_face/yf_dotMatrix_unamusedFace.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_unamusedFace' }, '0060620202626000'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_face/yf_dotMatrix_smileFace.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_smileFace' }, '2040240202244020'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_face/yf_dotMatrix_pensiveFace.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_pensiveFace' }, '4020420404422040'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_face/yf_dotMatrix_grinningSquintingFace.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_grinningSquintingFace' }, '0050240202245000'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_face/yf_dotMatrix_grinningFaceWithBigEyes.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_grinningFaceWithBigEyes' }, '20442A0A0A2A4420'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_face/yf_dotMatrix_grinningSquintingFace2.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_grinningSquintingFace2' }, '0050260505265000'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_face/yf_dotMatrix_winkingFace.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_winkingFace' }, '0050240202047000'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_face/yf_dotMatrix_smilingFaceWithHeart-eyes.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_smilingFaceWithHeart' }, '6030660505663060'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_face/yf_dotMatrix_faceSavoringFood.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_faceSavoringFood' }, '204A240404244020'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_face/yf_dotMatrix_smirkingFace.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_smirkingFace' }, '4064420202406040'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_face/yf_dotMatrix_dizzyFace.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_dizzyFace' }, 'A040A60909A640A0'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_face/yf_dotMatrix_angryFace.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_angryFace' }, '8041220404224180'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_face/yf_dotMatrix_disappointedFace.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_disappointedFace' }, '2041820202824120'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_face/yf_dotMatrix_faceScreamingInFear.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_faceScreamingInFear' }, '04439C22229C4304'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_face/yf_dotMatrix_Fan_happyFace.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_Fan_happyFace' }, 'FF81A98585A981FF'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_face/yf_dotMatrix_Fan_sadFace.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_Fan_sadFace' }, 'FF81A58989A581FF'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_face/yf_dotMatrix_Fan_unamusedFace.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_Fan_unamusedFace' }, 'FF81A58585A581FF'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_face/yf_dotMatrix_囧.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_囧' }, 'FFA1C78585C7A1FF'],
];

export const yf_dotMatrix_preset_img_face = {
    init: function () {
        this.setColour(yfrobotColor_dis);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_YF_MATRIX_CUST_FACE)
            .appendField(new Blockly.FieldDropdown(YF_DOTMATRIX_PRESET_IMG_FACE), "img_");
        this.setOutput(true);
        this.setInputsInline(true);
    }
};

// DIR
var YF_DOTMATRIX_PRESET_IMG_DIR = [
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_dir/yf_dotMatrix_up.png'), 'width': 30, 'height': 30, 'alt': '↑' }, '102040FFFF402010'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_dir/yf_dotMatrix_down.png'), 'width': 30, 'height': 30, 'alt': '↓' }, '080402FFFF020408'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_dir/yf_dotMatrix_left.png'), 'width': 30, 'height': 30, 'alt': '←' }, '18181818995A3C18'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_dir/yf_dotMatrix_right.png'), 'width': 30, 'height': 30, 'alt': '→' }, '183C5A9918181818'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_dir/yf_dotMatrix_leftUp.png'), 'width': 30, 'height': 30, 'alt': '↖' }, '0102048890E0E0F8'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_dir/yf_dotMatrix_leftDown.png'), 'width': 30, 'height': 30, 'alt': '↙️' }, '804020110907071F'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_dir/yf_dotMatrix_rightUp.png'), 'width': 30, 'height': 30, 'alt': '↗' }, 'F8E0E09088040201'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_dir/yf_dotMatrix_rightDown.png'), 'width': 30, 'height': 30, 'alt': '↘' }, '1F07070911204080'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_dir/yf_dotMatrix_dir2_up.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_dir2_up' }, '103070F0F0703010'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_dir/yf_dotMatrix_dir2_down.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_dir2_down' }, '080C0E0F0F0E0C08'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_dir/yf_dotMatrix_dir2_left.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_dir2_left' }, '00000000FF7E3C18'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_dir/yf_dotMatrix_dir2_right.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_dir2_right' }, '183C7EFF00000000'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_dir/yf_dotMatrix_dir2_leftUp.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_dir2_leftUp' }, '00000080C0E0F0F8'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_dir/yf_dotMatrix_dir2_leftDown.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_dir2_leftDown' }, '0000000103070F1F'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_dir/yf_dotMatrix_dir2_rightUp.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_dir2_rightUp' }, 'F8F0E0C080000000'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_dir/yf_dotMatrix_dir2_rightDown.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_dir2_rightDown' }, '1F0F070301000000'],
];

export const yf_dotMatrix_preset_img_dir = {
    init: function () {
        this.setColour(yfrobotColor_dis);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_YF_MATRIX_CUST_DIR)
            .appendField(new Blockly.FieldDropdown(YF_DOTMATRIX_PRESET_IMG_DIR), "img_");
        this.setOutput(true);
        this.setInputsInline(true);
    }
};

// Music
var YF_DOTMATRIX_PRESET_IMG_MUSIC = [
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_music/yf_dotMatrix_musicalNote.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_musicalNote' }, '003040FE07030000'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_music/yf_dotMatrix_musicalNotes.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_musicalNotes' }, '00FE8783807E0703'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_music/yf_dotMatrix_headphone.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_headphone' }, '0C3E4C80868F7600'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_music/yf_dotMatrix_microphone.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_microphone' }, '060B1569F1F26100'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_music/yf_dotMatrix_radio.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_radio' }, '1F151F15959F553F'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_music/yf_dotMatrix_speakerLowvolume.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_speakerLowvolume' }, '0000000000FF7E3C'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_music/yf_dotMatrix_speakerMediumVolume.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_speakerMediumVolume' }, '0000001800FF7E3C'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_music/yf_dotMatrix_speakerHighvolume.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_speakerHighvolume' }, '1824001800FF7E3C'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_music/yf_dotMatrix_speakerForbidden.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_speakerForbidden' }, '2418182400FF7E3C'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_music/yf_dotMatrix_trumpet.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_trumpet' }, '7E3C181E191E183C'],
];

export const yf_dotMatrix_preset_img_music = {
    init: function () {
        this.setColour(yfrobotColor_dis);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_YF_MATRIX_CUST_MUSIC)
            .appendField(new Blockly.FieldDropdown(YF_DOTMATRIX_PRESET_IMG_MUSIC), "img_");
        this.setOutput(true);
        this.setInputsInline(true);
    }
};

// Animal
var YF_DOTMATRIX_PRESET_IMG_ANIMAL = [
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_animal/yf_dotMatrix_whale.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_whale' }, '04060385C96DC986'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_animal/yf_dotMatrix_fish.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_fish' }, '1C081422222A14A8'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_animal/yf_dotMatrix_chick.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_chick' }, '3814131263AC5020'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_animal/yf_dotMatrix_butterfly.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_butterfly' }, '60F2F77E7EF7F260'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_animal/yf_dotMatrix_camel.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_camel' }, '081E081E08706020'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_animal/yf_dotMatrix_duck.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_duck' }, '00080C0C3C3C1000'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_animal/yf_dotMatrix_elephant.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_elephant' }, '103E3E387E5E703C'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_animal/yf_dotMatrix_giraffe.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_giraffe' }, '000006047E400000'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_animal/yf_dotMatrix_horse.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_horse' }, '20221C18183C4240'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_animal/yf_dotMatrix_snail.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_snail' }, '013F534B3DB27C80'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_animal/yf_dotMatrix_snake.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_snake' }, '00101E02027E6000'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_animal/yf_dotMatrix_dog.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_dog' }, 'F8462923232946F8'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_animal/yf_dotMatrix_cat.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_cat' }, 'F0420942420942F0'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_animal/yf_dotMatrix_cattle.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_cattle' }, '603C161F1F163C60'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_animal/yf_dotMatrix_deer.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_deer' }, '40DC2A21212ADC40'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_animal/yf_dotMatrix_mouse.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_mouse' }, '609C824949829C60 '],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_animal/yf_dotMatrix_pigNose.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_pigNose' }, '1C225A42425A221C'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_animal/yf_dotMatrix_bearPaw.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_bearPaw' }, '0816160820585820'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_animal/yf_dotMatrix_bearPaw2.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_bearPaw2' }, '00000000102C2C10'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_animal/yf_dotMatrix_bearPaw3.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_bearPaw3' }, '2058582008161608'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_animal/yf_dotMatrix_bearPaw4.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_bearPaw4' }, '102C2C1000000000'],
];

export const yf_dotMatrix_preset_img_animal = {
    init: function () {
        this.setColour(yfrobotColor_dis);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_YF_MATRIX_CUST_ANIMAL)
            .appendField(new Blockly.FieldDropdown(YF_DOTMATRIX_PRESET_IMG_ANIMAL), "img_");
        this.setOutput(true);
        this.setInputsInline(true);
    }
};

// Home
var YF_DOTMATRIX_PRESET_IMG_HOME = [
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_home/yf_dotMatrix_house.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_house' }, '103F7FFCFC7F3F10'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_home/yf_dotMatrix_table.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_table' }, '20303F30303F3020'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_home/yf_dotMatrix_chair.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_chair' }, '0000FF08080F0000'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_home/yf_dotMatrix_knifeAndFork.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_knifeAndFork' }, '00FF7800E01FE000'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_home/yf_dotMatrix_cup.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_cup' }, '0018247E7E7E7E00'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_home/yf_dotMatrix_goblet.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_goblet' }, '004020313F312000'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_home/yf_dotMatrix_rice.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_rice' }, '183C5E5E5E5E3C18'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_home/yf_dotMatrix_noodle.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_noodle' }, '18BC5EBE5EBE5C18'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_home/yf_dotMatrix_ring.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_ring' }, '083848898A483808'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_home/yf_dotMatrix_tableLamp.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_tableLamp' }, '2060E1FFE1602000'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_home/yf_dotMatrix_umbrella.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_umbrella' }, '2040C0FEC1412200'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_home/yf_dotMatrix_bag.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_bag' }, '1F3D539D939F711F'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_home/yf_dotMatrix_hammer.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_hammer' }, '01020448F0F07830'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_home/yf_dotMatrix_scissors.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_scissors' }, '0042241818666600'],
];

export const yf_dotMatrix_preset_img_home = {
    init: function () {
        this.setColour(yfrobotColor_dis);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_YF_MATRIX_CUST_HOME)
            .appendField(new Blockly.FieldDropdown(YF_DOTMATRIX_PRESET_IMG_HOME), "img_");
        this.setOutput(true);
        this.setInputsInline(true);
    }
};

// Office
var YF_DOTMATRIX_PRESET_IMG_OFFICE = [
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_office/yf_dotMatrix_e-mail.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_e-mail' }, '7E62524A4A52627E'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_office/yf_dotMatrix_computer.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_computer' }, 'FC858587878585FC'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_office/yf_dotMatrix_telephone.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_telephone' }, '66A9D1D1D1D1A966'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_office/yf_dotMatrix_mobilephone.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_mobilephone' }, '00007F4F4FFF0000'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_office/yf_dotMatrix_alarmClock.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_alarmClock' }, 'C09E21252D219EC0'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_office/yf_dotMatrix_$.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_$' }, '002649FF49320000'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_office/yf_dotMatrix_¥.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_¥' }, '0094543F54940000'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_office/yf_dotMatrix_×.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_×' }, '0042241818244200'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_office/yf_dotMatrix_√.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_√' }, '4020100804020408'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_office/yf_dotMatrix_airplane.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_airplane' }, '18187EFF1818183C'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_office/yf_dotMatrix_car.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_car' }, '183C4878483C3818'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_office/yf_dotMatrix_sailboat.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_sailboat' }, '081A7B03FB4B2A18'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_office/yf_dotMatrix_fighter.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_fighter' }, '307033FFFF337030'],
];

export const yf_dotMatrix_preset_img_office = {
    init: function () {
        this.setColour(yfrobotColor_dis);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_YF_MATRIX_CUST_OFFICE)
            .appendField(new Blockly.FieldDropdown(YF_DOTMATRIX_PRESET_IMG_OFFICE), "img_");
        this.setOutput(true);
        this.setInputsInline(true);
    }
};

// MATHEMATICS 数学
var YF_DOTMATRIX_PRESET_IMG_MATHEMATICS = [
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_mathematics/yf_dotMatrix_0.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_0' }, '007E9189857E0000'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_mathematics/yf_dotMatrix_1.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_1' }, '000101FF81410000'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_mathematics/yf_dotMatrix_2.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_2' }, '0071898583410000'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_mathematics/yf_dotMatrix_3.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_3' }, '006E919181420000'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_mathematics/yf_dotMatrix_4.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_4' }, '0004FF44241C0000'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_mathematics/yf_dotMatrix_5.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_5' }, '008E919191F20000'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_mathematics/yf_dotMatrix_6.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_6' }, '004E9191917E0000'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_mathematics/yf_dotMatrix_7.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_7' }, '00C0A09F80800000'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_mathematics/yf_dotMatrix_8.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_8' }, '006E9191916E0000'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_mathematics/yf_dotMatrix_9.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_9' }, '007E898989720000'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_mathematics/yf_dotMatrix_10.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_10' }, '7E81817E01FF4100'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_mathematics/yf_dotMatrix_+.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_+' }, '0018187E7E181800'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_mathematics/yf_dotMatrix_-.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_-' }, '0018181818181800'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_mathematics/yf_dotMatrix_x.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_x' }, '0042241818244200'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_mathematics/yf_dotMatrix_÷.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_÷' }, '0018183A5C181800'],
];

export const yf_dotMatrix_preset_img_mathematics = {
    init: function () {
        this.setColour(yfrobotColor_dis);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_YF_MATRIX_CUST_MATHEMATICS)
            .appendField(new Blockly.FieldDropdown(YF_DOTMATRIX_PRESET_IMG_MATHEMATICS), "img_");
        this.setOutput(true);
        this.setInputsInline(true);
    }
};

// Dice 骰子
var YF_DOTMATRIX_PRESET_IMG_DICE = [
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_dice/yf_dotMatrix_dice_1.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_dice_1' }, '0000183C3C180000'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_dice/yf_dotMatrix_dice_2.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_dice_2' }, '0006060000606000'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_dice/yf_dotMatrix_dice_3.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_dice_3' }, '0006061818606000'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_dice/yf_dotMatrix_dice_4.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_dice_4' }, '0066660000666600'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_dice/yf_dotMatrix_dice_5.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_dice_5' }, '0066661818666600'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_dice/yf_dotMatrix_dice_6.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_dice_6' }, '00DBDB0000DBDB00'],
];

export const yf_dotMatrix_preset_img_dice = {
    init: function () {
        this.setColour(yfrobotColor_dis);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_YF_MATRIX_CUST_DICE)
            .appendField(new Blockly.FieldDropdown(YF_DOTMATRIX_PRESET_IMG_DICE), "img_");
        this.setOutput(true);
        this.setInputsInline(true);
    }
};

// Battery 电量
var YF_DOTMATRIX_PRESET_IMG_BATTERY = [
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_battery/yf_dotMatrix_battery0.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_battery0' }, '00007FC1C17F0000'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_battery/yf_dotMatrix_battery1.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_battery1' }, '00007FC3C37F0000'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_battery/yf_dotMatrix_battery2.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_battery2' }, '00007FC7C77F0000'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_battery/yf_dotMatrix_battery3.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_battery3' }, '00007FCFCF7F0000'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_battery/yf_dotMatrix_battery4.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_battery4' }, '00007FDFDF7F0000'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_battery/yf_dotMatrix_battery5.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_battery5' }, '00007FFFFF7F0000'],
];

export const yf_dotMatrix_preset_img_battery = {
    init: function () {
        this.setColour(yfrobotColor_dis);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_YF_MATRIX_CUST_BATTERY)
            .appendField(new Blockly.FieldDropdown(YF_DOTMATRIX_PRESET_IMG_BATTERY), "img_");
        this.setOutput(true);
        this.setInputsInline(true);
    }
};

// Weather 天气
var YF_DOTMATRIX_PRESET_IMG_WEATHER = [
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_weather/yf_dotMatrix_sunny.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_sunny' }, '2400993C3C990024'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_weather/yf_dotMatrix_cloudy.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_cloudy' }, '0C122222B23A8A54'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_weather/yf_dotMatrix_overcast.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_overcast' }, '3048888848282810'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_weather/yf_dotMatrix_lightRain.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_lightRain' }, '3048888A49282810'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_weather/yf_dotMatrix_rain.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_rain' }, '304A8988482A2910'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_weather/yf_dotMatrix_heavyRain.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_heavyRain' }, '304A898A492A2910'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_weather/yf_dotMatrix_foggy.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_foggy' }, '2055959595555520'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_weather/yf_dotMatrix_lightning.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_lightning' }, '0000985432110000'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_weather/yf_dotMatrix_snow.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_snow' }, '103810020742E040'],
];

export const yf_dotMatrix_preset_img_weather = {
    init: function () {
        this.setColour(yfrobotColor_dis);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_YF_MATRIX_CUST_WEATHER)
            .appendField(new Blockly.FieldDropdown(YF_DOTMATRIX_PRESET_IMG_WEATHER), "img_");
        this.setOutput(true);
        this.setInputsInline(true);
    }
};

// 其他快捷图案
var YF_DOTMATRIX_PRESET_IMG_OTHER = [
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_other/yf_dotMatrix_☯.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_☯' }, '3C4293879FB77E3C'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_other/yf_dotMatrix_cactus.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_cactus' }, '001E027FFF083800'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_other/yf_dotMatrix_seedling.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_seedling' }, '1038381F1F383810'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_other/yf_dotMatrix_tulip.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_tulip' }, 'C47239FFFF3972E2'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_other/yf_dotMatrix_heart1.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_heart1' }, '78FCFE7F7FFEFC78'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_other/yf_dotMatrix_heart2.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_heart2' }, '00387C3E3E7C3800'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_other/yf_dotMatrix_heart3.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_heart3' }, '0000183C1E3C1800'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_other/yf_dotMatrix_heart4.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_heart4' }, '000000180C180000'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_other/yf_dotMatrix_sleep1.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_sleep1' }, '0000000000050705'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_other/yf_dotMatrix_sleep2.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_sleep2' }, '0F02040F00E040E0'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_other/yf_dotMatrix_♀.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_♀' }, '00708A8F8A700000'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_other/yf_dotMatrix_♂.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_♂' }, 'E0C0A01E1111110E'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_other/yf_dotMatrix_square1.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_square1' }, 'FFFFFFFFFFFFFFFF'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_other/yf_dotMatrix_square2.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_square2' }, '007E7E7E7E7E7E00'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_other/yf_dotMatrix_square3.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_square3' }, '00003C3C3C3C0000'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_other/yf_dotMatrix_square4.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_square4' }, '0000001818000000'],
    [{ 'src': require('../media/yf_dotMatrix_img/yf_dotMatrix_other/yf_dotMatrix_empty.png'), 'width': 30, 'height': 30, 'alt': 'yf_dotMatrix_empty' }, '0000000000000000'],
    ["○", "001C2222221C0000"],
    ["□", "003E2222223E0000"],
    ["▣", "003E222A223E0000"],
    ["◇", "0008142214080000"],
    ["卍", "003A0A3E282E0000"],
    ["卐", "002E283E0A3A0000"],
    ["大", "0012147814120000"],
    ["中", "0038287E28380000"],
    ["小", "0018007E02180000"],
    ["米", "0054187E18540000"],
    ["正", "0052527E424E0000"],
];

export const yf_dotMatrix_preset_img = {
    init: function () {
        this.setColour(yfrobotColor_dis);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_YF_MATRIX_CUST_OTHER)
            .appendField(new Blockly.FieldDropdown(YF_DOTMATRIX_PRESET_IMG_OTHER), "img_");
        this.setOutput(true);
        this.setInputsInline(true);
    }
};

/******************** 4位数码管  ********************/
//TM1650 4 digital display  -- 初始化
export const yf_4digitdisplay_init = {
    init: function () {
        this.setColour(yfrobotColor_dis);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_YF_4DIGITDISPLAY + "")
            .appendField(new Blockly.FieldImage(require("../media/yf_tm1650.png"), 63, 24))
            .appendField(Blockly.Msg.MIXLY_SETUP)
        this.appendValueInput("PIN1")
            .setCheck(Number)
            .setAlign(Blockly.ALIGN_RIGHT)
            // .appendField(Blockly.Msg.MIXLY_YF_TM1637_INIT)
            .appendField("CLK")
            .appendField(Blockly.Msg.MIXLY_PIN);
        this.appendValueInput("PIN2")
            .setCheck(Number)
            .setAlign(Blockly.ALIGN_RIGHT)
            .appendField("DIO")
            .appendField(Blockly.Msg.MIXLY_PIN);
        this.setInputsInline(true);
        this.setPreviousStatement(true, null);
        this.setNextStatement(true, null);
    }
};

// TM1650 4 digital display  -- 开关 清屏
export const yf_4digitdisplay_power = {
    init: function () {
        this.setColour(yfrobotColor_dis);
        this.appendDummyInput()
            .appendField(Blockly.Msg.MIXLY_YF_4DIGITDISPLAY + "")
            .appendField(new Blockly.FieldImage(require("../media/yf_tm1650.png"), 63, 24))
            .appendField(new Blockly.FieldDropdown([
                [Blockly.Msg.MIXLY_LCD_STAT_ON, "displayOn"],
                [Blockly.Msg.MIXLY_LCD_STAT_OFF, "displayOff"],
                [Blockly.Msg.MIXLY_LCD_STAT_CLEAR, "clear"]
            ]), "STAT");
        this.setInputsInline(true);
        this.setPreviousStatement(true, null);
        this.setNextStatement(true, null);
    }
};

// TM1650 4 digital display  -- 显示字符串
export const yf_4digitdisplay_displayString = {
    init: function () {
        this.setColour(yfrobotColor_dis);
        this.appendDummyInput()
            .appendField(Blockly.Msg.MIXLY_YF_4DIGITDISPLAY + "")
            .appendField(new Blockly.FieldImage(require("../media/yf_tm1650.png"), 63, 24))
        this.appendValueInput("VALUE", String)
            .setCheck([String, Number])
            .setAlign(Blockly.ALIGN_RIGHT)
            .appendField(Blockly.Msg.MIXLY_YF_4DIGITDISPLAY_DISPLAYSTRING);
        this.setInputsInline(true);
        this.setPreviousStatement(true, null);
        this.setNextStatement(true, null);
    }
};

// TM1650 4 digital display  -- 显示数字
export const yf_4digitdisplay_displayNumber = {
    init: function () {
        this.setColour(yfrobotColor_dis);
        this.appendDummyInput()
            .appendField(Blockly.Msg.MIXLY_YF_4DIGITDISPLAY + "")
            .appendField(new Blockly.FieldImage(require("../media/yf_tm1650.png"), 63, 24));
        this.appendValueInput("VALUE")
            .setCheck(Number)
            .setAlign(Blockly.ALIGN_RIGHT)
            .appendField(Blockly.Msg.MIXLY_YF_4DIGITDISPLAY_DISPLAYNUMBER);
        this.setInputsInline(true);
        this.setPreviousStatement(true, null);
        this.setNextStatement(true, null);
        this.setTooltip("支持类型：int、float、double");
    }
};

// TM1650 4 digital display  -- 小数点显示
export const yf_4digitdisplay_showDot = {
    init: function () {
        this.setColour(yfrobotColor_dis);
        this.appendDummyInput()
            .appendField(Blockly.Msg.MIXLY_YF_4DIGITDISPLAY + "")
            .appendField(new Blockly.FieldImage(require("../media/yf_tm1650.png"), 63, 24));
        this.appendValueInput('DOTNUM')
            .appendField(Blockly.Msg.MIXLY_YF_4DIGITDISPLAY_NOMBER1);
        //.appendField(new Blockly.FieldDropdown([["1", "0"], ["2", "1"], ["3", "2"], ["4", "3"]]), "NO")
        this.appendDummyInput()
            .appendField(Blockly.Msg.MIXLY_YF_4DIGITDISPLAY_NOMBER2)
            .appendField(Blockly.Msg.MIXLY_YF_4DIGITDISPLAY_DOT)
            .appendField(new Blockly.FieldDropdown([
                [Blockly.Msg.MIXLY_4DIGITDISPLAY_ON, "true"],
                [Blockly.Msg.MIXLY_4DIGITDISPLAY_OFF, "false"]
            ]), "STAT");
        this.setInputsInline(true);
        this.setPreviousStatement(true, null);
        this.setNextStatement(true, null);
        this.setTooltip("数字模式小数点：1~4");
    }
};

// TM1650 4 digital display  -- 设置亮度
export const yf_4digitdisplay_Brightness = {
    init: function () {
        this.setColour(yfrobotColor_dis);
        this.appendDummyInput()
            .appendField(Blockly.Msg.MIXLY_YF_4DIGITDISPLAY + "")
            .appendField(new Blockly.FieldImage(require("../media/yf_tm1650.png"), 63, 24));
        this.appendValueInput('brightness')
            .appendField(Blockly.Msg.MIXLY_YF_4DIGITDISPLAY_BRIGHTNESS);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_YF_4DIGITDISPLAY_BRIGHTNESS_RANGE);
        this.setPreviousStatement(true);
        this.setNextStatement(true);
        this.setInputsInline(true);
        this.setTooltip("亮度等级范围：1~8");
    }
};

// TM1650 4 digital display  -- 时钟模式
export const yf_4digitdisplay_Time = {
    init: function () {
        this.setColour(yfrobotColor_dis);
        this.appendDummyInput()
            .appendField(Blockly.Msg.MIXLY_YF_4DIGITDISPLAY + "")
            .appendField(new Blockly.FieldImage(require("../media/yf_tm1650_time.png"), 63, 24));
        this.appendValueInput('time_hour')
            .appendField(Blockly.Msg.MIXLY_YF_4DIGITDISPLAY_TIME_HOUR);
        this.appendValueInput('time_minute')
            .appendField(Blockly.Msg.MIXLY_YF_4DIGITDISPLAY_TIME_MINUTE);
        this.appendDummyInput()
            .appendField(Blockly.Msg.MIXLY_YF_4DIGITDISPLAY_TIME_SECOND)
            .appendField(new Blockly.FieldDropdown([
                [Blockly.Msg.MIXLY_YF_TIME_SEC_ON, "displaySEC_ON"],
                [Blockly.Msg.MIXLY_YF_TIME_SEC_BLINK, "displaySEC_BLINK"],
                [Blockly.Msg.MIXLY_YF_TIME_SEC_OFF, "displaySEC_OFF"]
            ]), "STAT");
        this.setPreviousStatement(true);
        this.setNextStatement(true);
        this.setInputsInline(true);
    }
};

/********************************************
TIME - 时钟模块
- DS3231
- DS1307
- PCF8563
*********************************************/
// RTC real time clock  -- 设置时间
export const yf_rtc_SetTime = {
    init: function () {
        this.setColour(yfrobotColor_time);
        this.appendDummyInput()
            .appendField(new Blockly.FieldImage(require("../media/yf_rtc.png"), 32, 32))
        this.appendDummyInput("")
            .appendField(new Blockly.FieldDropdown([
                [Blockly.Msg.MIXLY_YF_DS1307, "DS1307"],
                [Blockly.Msg.MIXLY_YF_DS3231, "DS3231"],
                [Blockly.Msg.MIXLY_YF_PCF8563, "PCF8563"]
            ]), "WHAT")
            .appendField(Blockly.Msg.MIXLY_YF_SET_TIME);
        this.appendValueInput('YEAR')
            .setCheck(Number).setAlign(Blockly.ALIGN_RIGHT)
            .appendField(Blockly.Msg.MIXLY_YF_YEAR);
        this.appendValueInput('MONTH')
            .setCheck(Number).setAlign(Blockly.ALIGN_RIGHT)
            .appendField(Blockly.Msg.MIXLY_YF_MONTH);
        this.appendValueInput('DAY')
            .setCheck(Number).setAlign(Blockly.ALIGN_RIGHT)
            .appendField(Blockly.Msg.MIXLY_YF_DAY);
        this.appendValueInput('HOUR')
            .setCheck(Number).setAlign(Blockly.ALIGN_RIGHT)
            .appendField(Blockly.Msg.MIXLY_YF_HOUR);
        this.appendValueInput('MINUTE')
            .setCheck(Number).setAlign(Blockly.ALIGN_RIGHT)
            .appendField(Blockly.Msg.MIXLY_YF_MINUTE);
        this.appendValueInput('SECOND')
            .setCheck(Number).setAlign(Blockly.ALIGN_RIGHT)
            .appendField(Blockly.Msg.MIXLY_YF_SECOND);
        this.setOutput(false, Number);
        this.setPreviousStatement(true);
        this.setNextStatement(true);
        this.setInputsInline(true);
        this.setTooltip("时钟模块 - IIC接口");
    }
};

// RTC real time clock  -- 设置当前时间
export const yf_rtc_SetTime2 = {
    init: function () {
        this.setColour(yfrobotColor_time);
        this.appendDummyInput()
            .appendField(new Blockly.FieldImage(require("../media/yf_rtc.png"), 32, 32))
        this.appendDummyInput("")
            .appendField(new Blockly.FieldDropdown([
                [Blockly.Msg.MIXLY_YF_DS1307, "DS1307"],
                [Blockly.Msg.MIXLY_YF_DS3231, "DS3231"],
                [Blockly.Msg.MIXLY_YF_PCF8563, "PCF8563"]
            ]), "WHAT")
            .appendField(Blockly.Msg.MIXLY_YF_SET_TIME)
            .appendField(Blockly.Msg.MIXLY_YF_SET_TIME2);
        this.setOutput(false, Number);
        this.setPreviousStatement(true);
        this.setNextStatement(true);
        this.setInputsInline(true);
        // this.setHelpUrl('__DATE__：当前的编译日期 ；__TIME__：当前编译时间；');
        this.setTooltip("时钟模块 - IIC接口");
    }
};

// RTC real time clock  -- 获取时间
export const yf_rtc_GetTime = {
    init: function () {
        this.setColour(yfrobotColor_time);
        this.appendDummyInput()
            .appendField(new Blockly.FieldImage(require("../media/yf_rtc.png"), 32, 32))
        this.appendDummyInput("")
            .appendField(new Blockly.FieldDropdown([
                [Blockly.Msg.MIXLY_YF_DS1307, "DS1307"],
                [Blockly.Msg.MIXLY_YF_DS3231, "DS3231"],
                [Blockly.Msg.MIXLY_YF_PCF8563, "PCF8563"]
            ]), "WHAT")
            .appendField(Blockly.Msg.MIXLY_YF_GET_TIME)
            .appendField(new Blockly.FieldDropdown([
                [Blockly.Msg.MIXLY_YF_YEAR, "year"],
                [Blockly.Msg.MIXLY_YF_MONTH, "month"],
                [Blockly.Msg.MIXLY_YF_DAY, "day"],
                [Blockly.Msg.MIXLY_YF_HOUR, "hour"],
                [Blockly.Msg.MIXLY_YF_MINUTE, "minute"],
                [Blockly.Msg.MIXLY_YF_SECOND, "second"],
                [Blockly.Msg.MIXLY_YF_DAYOFWEEK, "dayOfTheWeek"]
            ]), "TIME_TYPE");
        this.setOutput(true, Number);
        this.setInputsInline(true);
        this.setTooltip('时钟模块 - IIC接口');
    }
};

/********************************************
Arduino Shield
* LEGO 电机驱动 8838
* L298P 电机驱动模块
* PM-R3 多功能扩展板模块
* IIC 电机驱动RZ7889
*********************************************/

// Motor direction - 电机转向
var YF_MD_8838 = [
    [Blockly.Msg.MIXLY_YFLEGO_MOTOR_DIRECTION_F, '1'],
    [Blockly.Msg.MIXLY_YFLEGO_MOTOR_DIRECTION_D, '0'],
    [Blockly.Msg.MIXLY_YFLEGO_MOTOR_DIRECTION_STOP, '2']
];

export const yf_motor_8838 = {
    init: function () {
        this.setColour(yfrobotColor_car);
        this.appendDummyInput()
            .appendField(Blockly.Msg.MIXLY_YFLEGO_MOTORDRIVER)
            .appendField(new Blockly.FieldImage(require("../media/yf_motor.png"), 30, 24))
        // .appendField(Blockly.Msg.MIXLY_YFLEGO_MOTOR)
        //   .appendField(new Blockly.FieldDropdown(YF_MS), 'PIN');
        this.appendValueInput("DIRPIN")
            .setCheck(Number).setAlign(Blockly.ALIGN_RIGHT)
            .appendField("DIR")
        this.appendValueInput("SPEEDPIN")
            .setCheck(Number).setAlign(Blockly.ALIGN_RIGHT)
            .appendField("SPEED")
        this.appendDummyInput()
            .appendField(new Blockly.FieldDropdown(YF_MD_8838), 'DIR');
        this.appendValueInput('speed')
            .setCheck(Number)
            .appendField(Blockly.Msg.MIXLY_YFLEGO_MOTOR_SPEED);
        this.appendDummyInput()
            .appendField(Blockly.Msg.MIXLY_YFLEGO_MOTOR_SPEED_RANGE);
        this.setInputsInline(true);
        this.setPreviousStatement(true);
        this.setNextStatement(true);
    }
};

/*  Motor drive - L298P、PMR3电机驱动模块
    为了方便小朋友使用，将最后参数 -255 ~ 255 分割成两个部分：正反转 + 转速*/
var YF_MS = [
    [{ 'src': require('../media/yf_M1.png'), 'width': 35, 'height': 18, 'alt': 'M1' }, '1'],
    [{ 'src': require('../media/yf_M2.png'), 'width': 35, 'height': 18, 'alt': 'M2' }, '2']];

// Motor direction - 电机转向
var YF_298P_MD = [[Blockly.Msg.MIXLY_YFL298P_MOTOR_DIRECTION_F, '1'], [Blockly.Msg.MIXLY_YFL298P_MOTOR_DIRECTION_D, '0']];

export const yf_l298p_motor = {
    init: function () {
        this.setColour(yfrobotColor_car);
        this.appendDummyInput()
            .appendField(Blockly.Msg.MIXLY_YFL298P)
            .appendField(new Blockly.FieldImage(require("../media/yf_298P.png"), 26, 24))
            .appendField(Blockly.Msg.MIXLY_YFL298P_MOTOR)
            .appendField(new Blockly.FieldDropdown(YF_MS), 'PIN');
        this.appendDummyInput()
            .appendField(" ")
            .appendField(new Blockly.FieldDropdown(YF_298P_MD), 'DIR');
        this.appendValueInput('speed')
            .setCheck(Number)
            .appendField(Blockly.Msg.MIXLY_YFL298P_MOTOR_SPEED);
        this.appendDummyInput()
            .appendField(Blockly.Msg.MIXLY_YFL298P_MOTOR_SPEED_RANGE);
        this.setInputsInline(true);
        this.setPreviousStatement(true);
        this.setNextStatement(true);
    }
};

export const yf_l298p_motor_stop = {
    init: function () {
        this.setColour(yfrobotColor_car);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_YFL298P)
            .appendField(new Blockly.FieldImage(require("../media/yf_298P.png"), 26, 24))
            .appendField(Blockly.Msg.MIXLY_YFL298P_MOTOR)
            .appendField(new Blockly.FieldDropdown(YF_MS), 'PIN')
            .appendField(" ")
            .appendField(Blockly.Msg.MIXLY_STOP);
        this.setInputsInline(true);
        this.setPreviousStatement(true);
        this.setNextStatement(true);
    }
};

// PM-R3多功能扩展板 TB6612
// Motor direction - 电机转向
var YFF_PMR3_MD = [[Blockly.Msg.MIXLY_YFPMR3_MOTOR_DIRECTION_F, '1'], [Blockly.Msg.MIXLY_YFPMR3_MOTOR_DIRECTION_D, '0']];

export const yf_pmr3_tb6612_motor = {
    init: function () {
        this.setColour(yfrobotColor_car);
        this.appendDummyInput()
            .appendField(Blockly.Msg.MIXLY_YFPMR3)
            .appendField(new Blockly.FieldImage(require("../media/yf_PMR3.png"), 26, 24))
            .appendField(Blockly.Msg.MIXLY_YFPMR3_MOTOR)
            .appendField(new Blockly.FieldDropdown(YF_MS), 'PIN');
        this.appendDummyInput()
            .appendField(" ")
            .appendField(new Blockly.FieldDropdown(YFF_PMR3_MD), 'DIR');
        this.appendValueInput('speed')
            .setCheck(Number)
            .appendField(Blockly.Msg.MIXLY_YFPMR3_MOTOR_SPEED);
        this.appendDummyInput()
            .appendField(Blockly.Msg.MIXLY_YFPMR3_MOTOR_SPEED_RANGE);
        this.setInputsInline(true);
        this.setPreviousStatement(true);
        this.setNextStatement(true);
        this.setTooltip("多功能扩展板");
        this.setHelpUrl('https://item.taobao.com/item.htm?spm=a1z10.3-c-s.w4002-16388987067.9.5be57a55AtRpbl&id=38073351291');
    }
};

export const yf_pmr3_tb6612_motor_stop = {
    init: function () {
        this.setColour(yfrobotColor_car);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_YFPMR3)
            .appendField(new Blockly.FieldImage(require("../media/yf_PMR3.png"), 26, 24))
            .appendField(Blockly.Msg.MIXLY_YFPMR3_MOTOR)
            .appendField(new Blockly.FieldDropdown(YF_MS), 'PIN')
            .appendField(" ")
            .appendField(Blockly.Msg.MIXLY_STOP);
        this.setInputsInline(true);
        this.setPreviousStatement(true);
        this.setNextStatement(true);
    }
};

export const yf_pmr3_tb6612_buzzer = {
    init: function () {
        this.setColour(yfrobotColor_car);
        this.appendDummyInput()
            .appendField(Blockly.Msg.MIXLY_YFPMR3)
            .appendField(new Blockly.FieldImage(require("../media/yf_PMR3.png"), 26, 24))
            .appendField(Blockly.Msg.MIXLY_YF_BUZZER);
        this.appendValueInput('FREQUENCY')
            .setCheck(Number)
            .appendField(Blockly.Msg.MIXLY_FREQUENCY);
        this.appendValueInput('DURATION')
            .setCheck(Number)
            .appendField(Blockly.Msg.MIXLY_DURATION);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_DELAY_MS);
        this.setInputsInline(true);
        this.setPreviousStatement(true);
        this.setNextStatement(true);
    }
};

// I2C电机驱动 初始化
export const yf_i2cmotor = {
    init: function () {
        this.setColour(yfrobotColor_car);
        this.appendDummyInput()
            .appendField(Blockly.Msg.MIXLY_I2CMOTOR)
            .appendField(Blockly.Msg.MIXLY_INIT)
        this.setInputsInline(true);
        this.setPreviousStatement(true);
        this.setNextStatement(true);
    }
};

// I2C电机驱动 驱动单电机
export const yf_i2cmotor_setSingleMotor = {
    init: function () {
        this.setColour(yfrobotColor_car);
        this.appendDummyInput()
            .appendField(Blockly.Msg.MIXLY_I2CMOTOR)
            .appendField(Blockly.Msg.MIXLY_I2CMOTOR_SINGLE_MOTOR)
            .appendField(new Blockly.FieldDropdown([["M1", "M1"], ["M2", "M2"], ["M3", "M3"], ["M4", "M4"]]), "MX");
        this.appendValueInput('speed')
            .setCheck(Number)
            .appendField(Blockly.Msg.MIXLY_I2CMOTOR_MOTOR_SPEED);
        this.appendDummyInput()
            .appendField(Blockly.Msg.MIXLY_I2CMOTOR_MOTOR_SPEED_RANGE);
        this.setInputsInline(true);
        this.setPreviousStatement(true);
        this.setNextStatement(true);
    }
};

// I2C电机驱动 驱动4路电机
export const yf_i2cmotor_setAllMotor = {
    init: function () {
        this.setColour(yfrobotColor_car);
        this.appendDummyInput()
            .appendField(Blockly.Msg.MIXLY_I2CMOTOR)
            .appendField(Blockly.Msg.MIXLY_I2CMOTOR_ALL_MOTOR);
        this.appendValueInput('speed')
            .setCheck(Number)
            .appendField(Blockly.Msg.MIXLY_I2CMOTOR_MOTOR_SPEED);
        this.appendDummyInput()
            .appendField(Blockly.Msg.MIXLY_I2CMOTOR_MOTOR_SPEED_RANGE);
        this.setInputsInline(true);
        this.setPreviousStatement(true);
        this.setNextStatement(true);
    }
};

// I2C电机驱动 分别驱动4路电机
export const yf_i2cmotor_setMotor = {
    init: function () {
        this.setColour(yfrobotColor_car);
        this.appendDummyInput()
            .appendField(Blockly.Msg.MIXLY_I2CMOTOR)
            .appendField(Blockly.Msg.MIXLY_I2CMOTOR_SET_MOTOR);
        this.appendValueInput('speed')
            .setCheck(Number)
            .appendField("M1");
        this.appendValueInput('speed2')
            .setCheck(Number)
            .appendField("M2");
        this.appendValueInput('speed3')
            .setCheck(Number)
            .appendField("M3");
        this.appendValueInput('speed4')
            .setCheck(Number)
            .appendField("M4");
        this.setInputsInline(true);
        this.setPreviousStatement(true);
        this.setNextStatement(true);
    }
};

// I2C电机驱动 停止电机
export const yf_i2cmotor_stopMotor = {
    init: function () {
        this.setColour(yfrobotColor_car);
        this.appendDummyInput()
            .appendField(Blockly.Msg.MIXLY_I2CMOTOR)
            .appendField(Blockly.Msg.MIXLY_I2CMOTOR_STOP_MOTOR)
            .appendField(new Blockly.FieldDropdown([["M1", "M1"], ["M2", "M2"], ["M3", "M3"], ["M4", "M4"], ["MAll", "MAll"]]), "MX")
            .appendField(Blockly.Msg.MIXLY_I2CMOTOR_MOTOR);
        this.setInputsInline(true);
        this.setPreviousStatement(true);
        this.setNextStatement(true);
    }
};

// I2C电机驱动 驱动舵机
export const yf_i2cmotor_servoWrite = {
    init: function () {
        this.setColour(yfrobotColor_car);
        this.appendDummyInput()
            .appendField(Blockly.Msg.MIXLY_I2CMOTOR)
            .appendField(Blockly.Msg.MIXLY_I2CMOTOR_SERVO)
            .appendField(new Blockly.FieldDropdown([["S1", "S1"], ["S2", "S2"], ["S3", "S3"], ["S4", "S4"], ["S5", "S5"]]), "CHANNL")
        this.appendValueInput('angle')
            .setCheck(Number)
            .appendField(Blockly.Msg.MIXLY_I2CMOTOR_SETANGLE);
        this.appendDummyInput()
            .appendField(Blockly.Msg.MIXLY_I2CMOTOR_ANGLE_RANGE);
        this.setInputsInline(true);
        this.setPreviousStatement(true);
        this.setNextStatement(true);
    }
};



// I2C1508电机驱动 初始化
export const yf_i2c1508motor = {
    init: function () {
        this.setColour(yfrobotColor_car);
        this.appendDummyInput()
            .appendField(Blockly.Msg.MIXLY_I2C1508MOTOR)
            .appendField(new Blockly.FieldImage(require("../media/YF_MotorDriver_IIC1508.png"), 30, 24))
            .appendField(Blockly.Msg.MIXLY_INIT)
        this.setInputsInline(true);
        this.setPreviousStatement(true);
        this.setNextStatement(true);
    }
};

// I2C1508电机驱动 驱动单电机
export const yf_i2c1508motor_setSingleMotor = {
    init: function () {
        this.setColour(yfrobotColor_car);
        this.appendDummyInput()
            .appendField(Blockly.Msg.MIXLY_I2C1508MOTOR)
            .appendField(new Blockly.FieldImage(require("../media/YF_MotorDriver_IIC1508.png"), 30, 24))
            .appendField(Blockly.Msg.MIXLY_I2C1508MOTOR_DRIVER)
            .appendField(new Blockly.FieldDropdown([["M1", "1"], ["M2", "2"], ["M3", "3"], ["M4", "4"], ["MAll", "5"]]), "MX")
            .appendField(Blockly.Msg.MIXLY_I2C1508MOTOR_MOTOR);
        this.appendValueInput('speed')
            .setCheck(Number)
            .appendField(Blockly.Msg.MIXLY_I2C1508MOTOR_MOTOR_SPEED);
        this.appendDummyInput()
            .appendField(Blockly.Msg.MIXLY_I2C1508MOTOR_MOTOR_SPEED_RANGE);
        this.setInputsInline(true);
        this.setPreviousStatement(true);
        this.setNextStatement(true);
    }
};

// I2C1508电机驱动 分别驱动4路电机
export const yf_i2c1508motor_setMotor = {
    init: function () {
        this.setColour(yfrobotColor_car);
        this.appendDummyInput()
            .appendField(Blockly.Msg.MIXLY_I2C1508MOTOR)
            .appendField(new Blockly.FieldImage(require("../media/YF_MotorDriver_IIC1508.png"), 30, 24))
            .appendField(Blockly.Msg.MIXLY_I2C1508MOTOR_DRIVER);
        this.appendValueInput('speed')
            .setCheck(Number)
            .appendField("M1");
        this.appendValueInput('speed2')
            .setCheck(Number)
            .appendField("M2");
        this.appendValueInput('speed3')
            .setCheck(Number)
            .appendField("M3");
        this.appendValueInput('speed4')
            .setCheck(Number)
            .appendField("M4");
        this.appendDummyInput()
            .appendField(Blockly.Msg.MIXLY_I2C1508MOTOR_MOTOR);
        this.setInputsInline(true);
        this.setPreviousStatement(true);
        this.setNextStatement(true);
    }
};

// I2C1508电机驱动 停止电机
export const yf_i2c1508motor_stopMotor = {
    init: function () {
        this.setColour(yfrobotColor_car);
        this.appendDummyInput()
            .appendField(Blockly.Msg.MIXLY_I2C1508MOTOR)
            .appendField(new Blockly.FieldImage(require("../media/YF_MotorDriver_IIC1508.png"), 30, 24))
            .appendField(Blockly.Msg.MIXLY_I2C1508MOTOR_STOP_MOTOR)
            .appendField(new Blockly.FieldDropdown([["M1", "1"], ["M2", "2"], ["M3", "3"], ["M4", "4"], ["MAll", "5"]]), "MX")
            .appendField(Blockly.Msg.MIXLY_I2C1508MOTOR_MOTOR);
        this.setInputsInline(true);
        this.setPreviousStatement(true);
        this.setNextStatement(true);
    }
};


/********************************************
Legoduino, Legoduino Pro 8838 电机驱动模块
*********************************************/

/*  Motor drive - DRV8838电机驱动模块
  为了方便小朋友使用，将最后参数 -255 ~ 255 分割成两个部分：正反转 + 转速*/
// Motor direction - 电机转向
var YFLEGODUINO_MD_8838 = [[Blockly.Msg.MIXLY_YFLEGO_MOTOR_DIRECTION_F, '1'], [Blockly.Msg.MIXLY_YFLEGO_MOTOR_DIRECTION_D, '0']];

export const yf_legoduino_motor_8838 = {
    init: function () {
        this.setColour(yfrobotColor_car);
        this.appendDummyInput()
            //   .appendField(Blockly.Msg.MIXLY_YFLEGODUINO)
            .appendField(new Blockly.FieldImage(require("../media/legoduino.png"), 82, 24))
            .appendField(Blockly.Msg.MIXLY_YFLEGODUINO_MOTOR_A);
        this.appendDummyInput()
            .appendField(" ")
            .appendField(new Blockly.FieldDropdown(YFLEGODUINO_MD_8838), 'DIRA');
        this.appendValueInput('speedA')
            .setCheck(Number)
            .appendField(Blockly.Msg.MIXLY_YFLEGOODUINO_MOTOR_SPEED);
        this.appendDummyInput()
            .appendField(Blockly.Msg.MIXLY_YFLEGODUINO_MOTOR_B);
        this.appendDummyInput()
            .appendField(" ")
            .appendField(new Blockly.FieldDropdown(YFLEGODUINO_MD_8838), 'DIRB');
        this.appendValueInput('speedB')
            .setCheck(Number)
            .appendField(Blockly.Msg.MIXLY_YFLEGOODUINO_MOTOR_SPEED);
        this.appendDummyInput()
            .appendField(Blockly.Msg.MIXLY_YFLEGODUINO_MOTOR_SPEED_RANGE);
        this.setInputsInline(true);
        this.setPreviousStatement(true);
        this.setNextStatement(true);
    }
};

/********************************************
遥控 - 红外遥控 、 PS2-手柄遥控、IIC RFID射频模块
*********************************************/
//红外接收模块
export const yf_ir_recv = {
    init: function () {
        this.setColour(yfrobotColor_ps2);
        this.appendDummyInput()
            .appendField(Blockly.Msg.MIXLY_YF_IR_RECEIVE)
            .appendField(new Blockly.FieldTextInput('ir_val'), 'VAR');
        this.appendValueInput("PIN", Number)
            .appendField(Blockly.Msg.MIXLY_PIN)
            .setCheck(Number);
        this.appendStatementInput('DO')
            .appendField(Blockly.Msg.MIXLY_IR_RECEIVE_YES);
        this.appendStatementInput('DO2')
            .appendField(Blockly.Msg.MIXLY_IR_RECEIVE_NO);
        this.setPreviousStatement(true);
        this.setNextStatement(true);
        this.setInputsInline(true);
        this.setTooltip(Blockly.Msg.MIXLY_IR_RECIEVE_TOOLTIP);
    }, getVars: function () {
        return [this.getFieldValue('VAR')];
    }, renameVar: function (oldName, newName) {
        if (Blockly.Names.equals(oldName, this.getFieldValue('VAR'))) {
            this.setTitleValue(newName, 'VAR');
        }
    }
};

//红外mini遥控器键值
var YF_IR_VAL2 = [
    [{ 'src': require('../media/yf_ir2_val/yf_ir2_A.png'), 'width': 24, 'height': 24, 'alt': 'yf_ir2_A' }, '0xFFA25D'],
    [{ 'src': require('../media/yf_ir2_val/yf_ir2_B.png'), 'width': 24, 'height': 24, 'alt': 'yf_ir2_B' }, '0xFF629D'],
    [{ 'src': require('../media/yf_ir2_val/yf_ir2_C.png'), 'width': 24, 'height': 24, 'alt': 'yf_ir2_C' }, '0xFFE21D'],
    [{ 'src': require('../media/yf_ir2_val/yf_ir2_D.png'), 'width': 24, 'height': 24, 'alt': 'yf_ir2_D' }, '0xFF22DD'],
    [{ 'src': require('../media/yf_ir2_val/yf_ir2_11.png'), 'width': 24, 'height': 24, 'alt': 'yf_ir2_11' }, '0xFF02FD'],
    [{ 'src': require('../media/yf_ir2_val/yf_ir2_E.png'), 'width': 24, 'height': 24, 'alt': 'yf_ir2_E' }, '0xFFC23D'],
    [{ 'src': require('../media/yf_ir2_val/yf_ir2_13.png'), 'width': 24, 'height': 24, 'alt': 'yf_ir2_13' }, '0xFFE01F'],
    [{ 'src': require('../media/yf_ir2_val/yf_ir2_15.png'), 'width': 24, 'height': 24, 'alt': 'yf_ir2_15' }, '0xFFA857'],
    [{ 'src': require('../media/yf_ir2_val/yf_ir2_14.png'), 'width': 24, 'height': 24, 'alt': 'yf_ir2_14' }, '0xFF906F'],
    [{ 'src': require('../media/yf_ir2_val/yf_ir2_0.png'), 'width': 24, 'height': 24, 'alt': 'yf_ir2_0' }, '0xFF6897'],
    [{ 'src': require('../media/yf_ir2_val/yf_ir2_12.png'), 'width': 24, 'height': 24, 'alt': 'yf_ir2_12' }, '0xFF9867'],
    [{ 'src': require('../media/yf_ir2_val/yf_ir2_F.png'), 'width': 24, 'height': 24, 'alt': 'yf_ir2_F' }, '0xFFB04F'],
    [{ 'src': require('../media/yf_ir2_val/yf_ir2_1.png'), 'width': 24, 'height': 24, 'alt': 'yf_ir2_1' }, '0xFF30CF'],
    [{ 'src': require('../media/yf_ir2_val/yf_ir2_2.png'), 'width': 24, 'height': 24, 'alt': 'yf_ir2_2' }, '0xFF18E7'],
    [{ 'src': require('../media/yf_ir2_val/yf_ir2_3.png'), 'width': 24, 'height': 24, 'alt': 'yf_ir2_3' }, '0xFF7A85'],
    [{ 'src': require('../media/yf_ir2_val/yf_ir2_4.png'), 'width': 24, 'height': 24, 'alt': 'yf_ir2_4' }, '0xFF10EF'],
    [{ 'src': require('../media/yf_ir2_val/yf_ir2_5.png'), 'width': 24, 'height': 24, 'alt': 'yf_ir2_5' }, '0xFF38C7'],
    [{ 'src': require('../media/yf_ir2_val/yf_ir2_6.png'), 'width': 24, 'height': 24, 'alt': 'yf_ir2_6' }, '0xFF5AA5'],
    [{ 'src': require('../media/yf_ir2_val/yf_ir2_7.png'), 'width': 24, 'height': 24, 'alt': 'yf_ir2_7' }, '0xFF42BD'],
    [{ 'src': require('../media/yf_ir2_val/yf_ir2_8.png'), 'width': 24, 'height': 24, 'alt': 'yf_ir2_8' }, '0xFF4AB5'],
    [{ 'src': require('../media/yf_ir2_val/yf_ir2_9.png'), 'width': 24, 'height': 24, 'alt': 'yf_ir2_9' }, '0xFF52AD'],
];

export const yf_ir_val2 = {
    init: function () {
        this.setColour(yfrobotColor_ps2);
        this.appendDummyInput()
            .appendField(Blockly.Msg.MIXLY_YF_IR_VAL)
            .appendField(new Blockly.FieldDropdown(YF_IR_VAL2), 'VAL');
        this.setOutput(true, Number);
        this.setTooltip("红外键值");
    }
};

//红外mini遥控器键值
var YF_IR_VAL = [
    [{ 'src': require('../media/yf_ir_val/yf_ir_pow.png'), 'width': 24, 'height': 24, 'alt': 'yf_ir_pow' }, '0xFFA25D'],
    [{ 'src': require('../media/yf_ir_val/yf_ir_menu.png'), 'width': 24, 'height': 24, 'alt': 'yf_ir_menu' }, '0xFFE21D'],
    [{ 'src': require('../media/yf_ir_val/yf_ir_test.png'), 'width': 24, 'height': 24, 'alt': 'yf_ir_test' }, '0xFF22DD'],
    [{ 'src': require('../media/yf_ir_val/yf_ir_+.png'), 'width': 24, 'height': 24, 'alt': 'yf_ir_' }, '0xFF02FD'],
    [{ 'src': require('../media/yf_ir_val/yf_ir_back.png'), 'width': 24, 'height': 24, 'alt': 'yf_ir_back' }, '0xFFC23D'],
    [{ 'src': require('../media/yf_ir_val/yf_ir_rewind.png'), 'width': 24, 'height': 24, 'alt': 'yf_ir_rewind' }, '0xFFE01F'],
    [{ 'src': require('../media/yf_ir_val/yf_ir_play.png'), 'width': 24, 'height': 24, 'alt': 'yf_ir_play' }, '0xFFA857'],
    [{ 'src': require('../media/yf_ir_val/yf_ir_fastForward.png'), 'width': 24, 'height': 24, 'alt': 'yf_ir_fastForward' }, '0xFF906F'],
    [{ 'src': require('../media/yf_ir_val/yf_ir_0.png'), 'width': 24, 'height': 24, 'alt': 'yf_ir_0' }, '0xFF6897'],
    [{ 'src': require('../media/yf_ir_val/yf_ir_-.png'), 'width': 24, 'height': 24, 'alt': 'yf_ir_-' }, '0xFF9867'],
    [{ 'src': require('../media/yf_ir_val/yf_ir_c.png'), 'width': 24, 'height': 24, 'alt': 'yf_ir_c' }, '0xFFB04F'],
    [{ 'src': require('../media/yf_ir_val/yf_ir_1.png'), 'width': 24, 'height': 24, 'alt': 'yf_ir_1' }, '0xFF30CF'],
    [{ 'src': require('../media/yf_ir_val/yf_ir_2.png'), 'width': 24, 'height': 24, 'alt': 'yf_ir_2' }, '0xFF18E7'],
    [{ 'src': require('../media/yf_ir_val/yf_ir_3.png'), 'width': 24, 'height': 24, 'alt': 'yf_ir_3' }, '0xFF7A85'],
    [{ 'src': require('../media/yf_ir_val/yf_ir_4.png'), 'width': 24, 'height': 24, 'alt': 'yf_ir_4' }, '0xFF10EF'],
    [{ 'src': require('../media/yf_ir_val/yf_ir_5.png'), 'width': 24, 'height': 24, 'alt': 'yf_ir_5' }, '0xFF38C7'],
    [{ 'src': require('../media/yf_ir_val/yf_ir_6.png'), 'width': 24, 'height': 24, 'alt': 'yf_ir_6' }, '0xFF5AA5'],
    [{ 'src': require('../media/yf_ir_val/yf_ir_7.png'), 'width': 24, 'height': 24, 'alt': 'yf_ir_7' }, '0xFF42BD'],
    [{ 'src': require('../media/yf_ir_val/yf_ir_8.png'), 'width': 24, 'height': 24, 'alt': 'yf_ir_8' }, '0xFF4AB5'],
    [{ 'src': require('../media/yf_ir_val/yf_ir_9.png'), 'width': 24, 'height': 24, 'alt': 'yf_ir_9' }, '0xFF52AD'],
];

export const yf_ir_val = {
    init: function () {
        this.setColour(yfrobotColor_ps2);
        this.appendDummyInput()
            .appendField(Blockly.Msg.MIXLY_YF_IR_VAL)
            .appendField(new Blockly.FieldDropdown(YF_IR_VAL), 'VAL');
        this.setOutput(true, Number);
        this.setTooltip("红外键值");
    }
};

//红外手柄式遥控器键值
var YF_IR_HANDLE_VAL = [
    ["↑", '0xE49B11EE'], ["↓", '0xE49B916E'], ["←", '0xE49B817E'], ["→", '0xE49BA15E'],
    ["A", '0xE49B21DE'], ["B", '0xE49B01FE'], ["M1", '0xE49BE916'], ["M2", '0xE49B6996'],
];

export const yf_ir_handle_val = {
    init: function () {
        this.setColour(yfrobotColor_ps2);
        this.appendDummyInput()
            .appendField(Blockly.Msg.MIXLY_YF_IR_HANDLE_VAL)
            .appendField(new Blockly.FieldImage(require("../media/yf_IR_PD6121.png"), 41, 24))
            .appendField(new Blockly.FieldDropdown(YF_IR_HANDLE_VAL), 'VAL');
        this.setOutput(true, Number);
        this.setTooltip("红外键值");
    }
};

// PS2 Controller init
export const yf_ps2_init = {
    init: function () {
        this.setColour(yfrobotColor_ps2);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_YF_PS2)
            .appendField(new Blockly.FieldImage(require("../media/yf_ps2x.png"), 39, 24))
            .appendField(Blockly.Msg.MIXLY_SETUP)
        this.appendValueInput("PIN1")
            .setCheck(Number).setAlign(Blockly.ALIGN_RIGHT)
            .appendField("DAT")
        this.appendValueInput("PIN2")
            .setCheck(Number).setAlign(Blockly.ALIGN_RIGHT)
            .appendField("CMD")
        this.appendValueInput("PIN3")
            .setCheck(Number).setAlign(Blockly.ALIGN_RIGHT)
            .appendField("CS")
        this.appendValueInput("PIN4")
            .setCheck(Number).setAlign(Blockly.ALIGN_RIGHT)
            .appendField("CLK")
        this.setInputsInline(true);
        this.setPreviousStatement(true, null);
        this.setNextStatement(true, null);
    }
};

//PS2手柄键值 - button 数字
var MIXLY_YF_PS2_BTN = [
    [{ 'src': require('../media/yf_ps2_val/yf_ps2_start.png'), 'width': 32, 'height': 20, 'alt': 'yf_ps2_start' }, 'PSB_START'],
    [{ 'src': require('../media/yf_ps2_val/yf_ps2_select.png'), 'width': 32, 'height': 21, 'alt': 'yf_ps2_select' }, 'PSB_SELECT'],
    [{ 'src': require('../media/yf_ps2_val/yf_ps2_up.png'), 'width': 30, 'height': 30, 'alt': 'yf_ps2_up' }, 'PSB_PAD_UP'],
    [{ 'src': require('../media/yf_ps2_val/yf_ps2_right.png'), 'width': 30, 'height': 30, 'alt': 'yf_ps2_right' }, 'PSB_PAD_RIGHT'],
    [{ 'src': require('../media/yf_ps2_val/yf_ps2_left.png'), 'width': 30, 'height': 30, 'alt': 'yf_ps2_left' }, 'PSB_PAD_LEFT'],
    [{ 'src': require('../media/yf_ps2_val/yf_ps2_down.png'), 'width': 30, 'height': 30, 'alt': 'yf_ps2_down' }, 'PSB_PAD_DOWN'],
    [{ 'src': require('../media/yf_ps2_val/yf_ps2_cross.png'), 'width': 28, 'height': 28, 'alt': 'yf_ps2_cross' }, 'PSB_CROSS'],
    [{ 'src': require('../media/yf_ps2_val/yf_ps2_circle.png'), 'width': 28, 'height': 28, 'alt': 'yf_ps2_circle' }, 'PSB_CIRCLE'],
    [{ 'src': require('../media/yf_ps2_val/yf_ps2_square.png'), 'width': 28, 'height': 28, 'alt': 'yf_ps2_square' }, 'PSB_SQUARE'],
    [{ 'src': require('../media/yf_ps2_val/yf_ps2_triangle.png'), 'width': 28, 'height': 28, 'alt': 'yf_ps2_triangle' }, 'PSB_TRIANGLE'],
    [{ 'src': require('../media/yf_ps2_val/yf_ps2_l1.png'), 'width': 47, 'height': 21, 'alt': 'yf_ps2_l1' }, 'PSB_L1'],
    [{ 'src': require('../media/yf_ps2_val/yf_ps2_r1.png'), 'width': 47, 'height': 21, 'alt': 'yf_ps2_r1' }, 'PSB_R1'],
    [{ 'src': require('../media/yf_ps2_val/yf_ps2_l2.png'), 'width': 47, 'height': 24, 'alt': 'yf_ps2_l2' }, 'PSB_L2'],
    [{ 'src': require('../media/yf_ps2_val/yf_ps2_r2.png'), 'width': 47, 'height': 24, 'alt': 'yf_ps2_r2' }, 'PSB_R2'],
    [{ 'src': require('../media/yf_ps2_val/yf_ps2_l3.png'), 'width': 30, 'height': 30, 'alt': 'yf_ps2_l3' }, 'PSB_L3'],
    [{ 'src': require('../media/yf_ps2_val/yf_ps2_r3.png'), 'width': 30, 'height': 30, 'alt': 'yf_ps2_r3' }, 'PSB_R3'],
];

// 按下、释放 新增：按住、改变
var MIXLY_YF_PS2_BTN_STA = [
    [Blockly.Msg.MIXLY_YF_PSB_PRESSED, "ButtonPressed"],
    [Blockly.Msg.MIXLY_YF_PSB_RELEASED, "ButtonReleased"],
    [Blockly.Msg.MIXLY_YF_PSB_HOLD, "Button"],
    [Blockly.Msg.MIXLY_YF_PSB_CHANGE, "NewButtonState"]
];

// PS2 Controller button
export const yf_ps2_btn = {
    init: function () {
        this.setColour(yfrobotColor_ps2);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_YF_PS2_BUTTON)
            .appendField(new Blockly.FieldImage(require("../media/yf_ps2x.png"), 39, 24))
            .appendField(new Blockly.FieldDropdown(MIXLY_YF_PS2_BTN), "PS2_BTN")
            .appendField(Blockly.Msg.MIXLY_YF_PS2_BTN_STATUS)
            .appendField(new Blockly.FieldDropdown(MIXLY_YF_PS2_BTN_STA), "PS2_BTN_STATUS");
        this.setOutput(true, Number);
        this.setInputsInline(true);
        this.setTooltip('');
    }
};

//PS2手柄摇杆
var MIXLY_YF_PS2_ROCKER_STA = [
    [{ 'src': require('../media/yf_ps2_val/yf_ps2_lx.png'), 'width': 30, 'height': 30, 'alt': 'yf_ps2_lx' }, 'PSS_LX'],
    [{ 'src': require('../media/yf_ps2_val/yf_ps2_ly.png'), 'width': 30, 'height': 30, 'alt': 'yf_ps2_ly' }, 'PSS_LY'],
    [{ 'src': require('../media/yf_ps2_val/yf_ps2_rx.png'), 'width': 30, 'height': 30, 'alt': 'yf_ps2_rx' }, 'PSS_RX'],
    [{ 'src': require('../media/yf_ps2_val/yf_ps2_ry.png'), 'width': 30, 'height': 30, 'alt': 'yf_ps2_ry' }, 'PSS_RY'],
];
// var MIXLY_YF_PS2_ROCKER_STA = [["PSS_LX", "PSS_LX"],["PSS_LY","PSS_LY"],["PSS_RX", "PSS_RX"],["PSS_RY","PSS_RY"]];

// PS2 Controller Rocker
export const yf_ps2_rocker = {
    init: function () {
        this.setColour(yfrobotColor_ps2);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_YF_PS2_ROCKER)
            .appendField(new Blockly.FieldImage(require("../media/yf_ps2x.png"), 39, 24))
            .appendField(new Blockly.FieldDropdown(MIXLY_YF_PS2_ROCKER_STA), "PS2_ROCKER_STATUS");
        this.setOutput(true, Number);
        this.setInputsInline(true);
        this.setTooltip('');
    }
};

//PS2手柄键值 - A button 模拟
var MIXLY_YF_PS2_A_BTN = [
    [{ 'src': require('../media/yf_ps2_val/yf_ps2_up.png'), 'width': 30, 'height': 30, 'alt': 'yf_ps2_up' }, 'PSAB_PAD_UP'],
    [{ 'src': require('../media/yf_ps2_val/yf_ps2_right.png'), 'width': 30, 'height': 30, 'alt': 'yf_ps2_right' }, 'PSAB_PAD_RIGHT'],
    [{ 'src': require('../media/yf_ps2_val/yf_ps2_left.png'), 'width': 30, 'height': 30, 'alt': 'yf_ps2_left' }, 'PSAB_PAD_LEFT'],
    [{ 'src': require('../media/yf_ps2_val/yf_ps2_down.png'), 'width': 30, 'height': 30, 'alt': 'yf_ps2_down' }, 'PSAB_PAD_DOWN'],
    [{ 'src': require('../media/yf_ps2_val/yf_ps2_cross.png'), 'width': 30, 'height': 30, 'alt': 'yf_ps2_cross' }, 'PSAB_CROSS'],
    [{ 'src': require('../media/yf_ps2_val/yf_ps2_circle.png'), 'width': 30, 'height': 30, 'alt': 'yf_ps2_circle' }, 'PSAB_CIRCLE'],
    [{ 'src': require('../media/yf_ps2_val/yf_ps2_square.png'), 'width': 30, 'height': 30, 'alt': 'yf_ps2_square' }, 'PSAB_SQUARE'],
    [{ 'src': require('../media/yf_ps2_val/yf_ps2_triangle.png'), 'width': 30, 'height': 30, 'alt': 'yf_ps2_triangle' }, 'PSAB_TRIANGLE'],
    [{ 'src': require('../media/yf_ps2_val/yf_ps2_l1.png'), 'width': 47, 'height': 21, 'alt': 'yf_ps2_l1' }, 'PSB_L1'],
    [{ 'src': require('../media/yf_ps2_val/yf_ps2_r1.png'), 'width': 47, 'height': 21, 'alt': 'yf_ps2_r1' }, 'PSB_R1'],
    [{ 'src': require('../media/yf_ps2_val/yf_ps2_l2.png'), 'width': 47, 'height': 24, 'alt': 'yf_ps2_l2' }, 'PSB_L2'],
    [{ 'src': require('../media/yf_ps2_val/yf_ps2_r2.png'), 'width': 47, 'height': 24, 'alt': 'yf_ps2_r2' }, 'PSB_R2'],
];

// PS2 Controller read analog value of the button  --- how hard you press the button
export const yf_ps2_a_btn = {
    init: function () {
        this.setColour(yfrobotColor_ps2);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_YF_PS2_A_BUTTON)
            .appendField(new Blockly.FieldImage(require("../media/yf_ps2x.png"), 39, 24))
            .appendField(new Blockly.FieldDropdown(MIXLY_YF_PS2_A_BTN), "PS2_A_BTN");
        this.setOutput(true, Number);
        this.setInputsInline(true);
        this.setTooltip('');
    }
};

// PS2 Controller read controller and setmotor
export const yf_ps2_readController_setMotor = {
    init: function () {
        this.setColour(yfrobotColor_ps2);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_YF_PS2)
            .appendField(new Blockly.FieldImage(require("../media/yf_ps2x.png"), 39, 24))
            .appendField(Blockly.Msg.MIXLY_YF_PS2_R_MOTOR)
            .appendField("MOTOR1")
            .appendField(new Blockly.FieldDropdown([["true", "true"], ["false", "false"]]), "MOTOR1");
        this.appendValueInput("MOTOR2")
            .setCheck(Number).setAlign(Blockly.ALIGN_RIGHT)
            .appendField("MOTOR2");
        this.setInputsInline(true);
        this.setPreviousStatement(true, null);
        this.setNextStatement(true, null);
    }
};

// PS2 Controller 判断是否正确读取到手柄
export const yf_ps2_isok = {
    init: function () {
        this.setColour(yfrobotColor_ps2);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_YF_PS2)
            .appendField(new Blockly.FieldImage(require("../media/yf_ps2x.png"), 39, 24))
            .appendField(Blockly.Msg.MIXLY_YF_PS2_IS_OK);
        this.setInputsInline(true);
        this.setPreviousStatement(true, null);
        this.setNextStatement(true, null);
    }
};

// I2C RFID射频模块 初始化
export const yf_rfid_iic_init = {
    init: function () {
        this.setColour(yfrobotColor_ps2);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_YF_I2CRFID)
            .appendField(new Blockly.FieldImage(require("../media/yf_i2crfid.png"), 39, 24))
            .appendField(Blockly.Msg.MIXLY_SETUP)
        this.setInputsInline(true);
        this.setPreviousStatement(true, null);
        this.setNextStatement(true, null);
    }
};

// I2C RFID射频模块 检测到卡
export const yf_rfid_iic_find_card = {
    init: function () {
        this.setColour(yfrobotColor_ps2);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_YF_I2CRFID)
            .appendField(new Blockly.FieldImage(require("../media/yf_i2crfid.png"), 39, 24))
            .appendField(Blockly.Msg.MIXLY_YF_I2CRFID_FINDCARD)
        this.setOutput(true, Boolean);
        this.setInputsInline(true);
        this.setTooltip('检测当有卡片靠近RFID模块？');
    }
};

// I2C RFID射频模块 检测到卡 ID 是否为xxxxxx？
export const yf_rfid_iic_find_card_is = {
    init: function () {
        this.setColour(yfrobotColor_ps2);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_YF_I2CRFID)
            .appendField(new Blockly.FieldImage(require("../media/yf_i2crfid.png"), 39, 24))
            .appendField(Blockly.Msg.MIXLY_YF_I2CRFID_FINDCARDIS)
        this.appendValueInput("UID_TEXT", String)
            .setCheck(String);
        this.setOutput(true, Boolean);
        this.setInputsInline(true);
        this.setTooltip('判断当前卡片ID是否为某个值？');
    }
};

// I2C RFID射频模块 读取卡并返回ID
export const yf_rfid_iic_find_card_get_ID = {
    init: function () {
        this.setColour(yfrobotColor_ps2);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_YF_I2CRFID)
            .appendField(new Blockly.FieldImage(require("../media/yf_i2crfid.png"), 39, 24))
            .appendField(Blockly.Msg.MIXLY_YF_I2CRFID_GETUID)
        this.setOutput(true, String);
        this.setInputsInline(true);
        this.setTooltip('获取卡ID');
    }
};

// I2C RFID射频模块 打印卡片相关信息
export const yf_rfid_iic_Print = {
    init: function () {
        this.setColour(yfrobotColor_ps2);
        this.appendDummyInput("")
            .appendField(Blockly.Msg.MIXLY_YF_I2CRFID)
            .appendField(new Blockly.FieldImage(require("../media/yf_i2crfid.png"), 39, 24))
            .appendField(Blockly.Msg.MIXLY_YF_I2CRFID_PRINT)
        this.setInputsInline(true);
        this.setPreviousStatement(true, null);
        this.setNextStatement(true, null);
    }
};

/********************************************
I2C IO 扩展
*********************************************/
var YF_I2CIOADDR = [["0x58", "0x58"], ["0x59", "0x59"], ["0x5A", "0x5A"], ["0x5B", "0x5B"]];
var YF_I2CIOPIN = [
    ["0", "0"], ["1", "1"], ["2", "2"], ["3", "3"],
    ["4", "4"], ["5", "5"], ["6", "6"], ["7", "7"],
    ["8", "8"], ["9", "9"], ["10", "10"], ["11", "11"],
    ["12", "12"], ["13", "13"], ["14", "14"], ["15", "15"]
];

// 输出
export const yf_i2cioext_digitalWrite = {
    init: function () {
        this.setColour(yfrobotColor_i2cioext);
        this.appendDummyInput("")
            .appendField(new Blockly.FieldImage(require("../media/yf_i2cioext.png"), 24, 24))
            .appendField("I/O扩展")
            .appendField("设置")
            .appendField(new Blockly.FieldDropdown(YF_I2CIOADDR), "I2CADDR")
        this.appendDummyInput("")
            .appendField("引脚")
            .appendField(new Blockly.FieldDropdown(YF_I2CIOPIN), "I2CIOPIN")
        this.appendValueInput("STAT")
            .appendField("输出")
            .setCheck([Number, Boolean]);
        this.setInputsInline(true);
        this.setPreviousStatement(true, null);
        this.setNextStatement(true, null);
        this.setTooltip("I2C 扩展IO端口，数字量输出控制");
    }
};

// 输入
export const yf_i2cioext_digitalRead = {
    init: function () {
        this.setColour(yfrobotColor_i2cioext);
        this.appendDummyInput("")
            .appendField(new Blockly.FieldImage(require("../media/yf_i2cioext.png"), 24, 24))
            .appendField("I/O扩展")
            .appendField("读取")
            .appendField(new Blockly.FieldDropdown(YF_I2CIOADDR), "I2CADDR")
        this.appendDummyInput("")
            .appendField("引脚")
            .appendField(new Blockly.FieldDropdown(YF_I2CIOPIN), "I2CIOPIN")
        this.setOutput(true, Boolean);
        this.setInputsInline(true);
        this.setTooltip("I2C 扩展IO端口，数字量输入读取");
    }
};

/********************************************
IIC ADS1115 16位AD转换模块
*********************************************/
// 初始化模块 默认地址0x48
export const yf_i2c1115_Init = {
    init: function () {
        this.setColour(yfrobotColor_i2cioext);
        this.appendDummyInput("")
            .appendField(new Blockly.FieldImage(require("../media/yf_analog.svg"), 24, 24))
            .appendField("AD模块")
            .appendField("初始化")
        this.setInputsInline(true);
        this.setPreviousStatement(true, null);
        this.setNextStatement(true, null);
        this.setTooltip("I2C AD转换模块，初始化");
    }
};

var YF_I2CANALOGPIN = [["A0", "0"], ["A1", "1"], ["A2", "2"], ["A3", "3"]];
// 模拟量读取
export const yf_i2c1115_readVoltage = {
    init: function () {
        this.setColour(yfrobotColor_i2cioext);
        this.appendDummyInput("")
            .appendField(new Blockly.FieldImage(require("../media/yf_analog.svg"), 24, 24))
            .appendField("AD模块")
            .appendField("读取")
        this.appendDummyInput("")
            .appendField(new Blockly.FieldDropdown(YF_I2CANALOGPIN), "YF_I2CANALOGPIN")
            .appendField("电压(mV)")
        this.setOutput(true, Number);
        this.setInputsInline(true);
        this.setTooltip("I2C AD转换模块，读取模拟量传感器数据电压值(mV)");
    }
};

/********************************************
指纹识别模块fingerprint recognition，串口通讯  波特率默认57600
*********************************************/
// 指纹识别模块fingerprint recognition  - 初始化端口
export const yf_FPM_init_Software = {
    init: function () {
        this.setColour(yfrobotColor_fpm);
        this.appendDummyInput("")
            .appendField(new Blockly.FieldImage(require("../media/yf_fpm.svg"), 24, 24))
            .appendField(Blockly.Msg.MIXLY_YF_FPM_INIT);
        this.appendValueInput("PINRX", Number)
            .appendField('RX')
            .setCheck(Number);
        this.appendValueInput("PINTX", Number)
            .appendField('TX')
            .setCheck(Number);
        this.setOutput(false, Number);
        this.setPreviousStatement(true);
        this.setNextStatement(true);
        this.setInputsInline(true);
        this.setTooltip("指纹模块初始化");
    }
};

var YF_FPM_IDENTIFY_LED_ONOFF = [
    [Blockly.Msg.MIXLY_LCD_STAT_ON, "true"], [Blockly.Msg.MIXLY_LCD_STAT_OFF, "false"]
];

// 指纹识别模块fingerprint recognition  - 确认
export const yf_FPM_identify = {
    init: function () {
        this.setColour(yfrobotColor_fpm);
        this.appendDummyInput("")
            .appendField(new Blockly.FieldImage(require("../media/yf_fpm.svg"), 24, 24))
            .appendField(Blockly.Msg.MIXLY_YF_FPM_IDENTIFY)
            .appendField(new Blockly.FieldDropdown(YF_FPM_IDENTIFY_LED_ONOFF), "STAT");
        this.setOutput(true, Number);
        // this.setPreviousStatement(true);
        // this.setNextStatement(true);
        this.setInputsInline(true);
        this.setTooltip("指纹模块验证");
    }
};

// 指纹识别模块fingerprint recognition  - 注册
export const yf_FPM_enroll = {
    init: function () {
        this.setColour(yfrobotColor_fpm);
        this.appendDummyInput("")
            .appendField(new Blockly.FieldImage(require("../media/yf_fpm.svg"), 24, 24))
        this.appendValueInput("ID", Number)
            .appendField('ID')
            .setCheck(Number)
        this.appendDummyInput()
            .appendField('(0-49)')
            .appendField(Blockly.Msg.MIXLY_YF_FPM_ENROLL)
        this.appendValueInput("ETIME", Number)
            .setCheck(Number)
        this.appendDummyInput()
            .appendField('(10s)')
        this.setOutput(true, Number);
        // this.setPreviousStatement(true);
        // this.setNextStatement(true);
        this.setInputsInline(true);
        this.setTooltip("指纹模块注册，ID序号0-49；注册触摸次数4~6次，10s内完成");
    }
};

// 指纹识别模块fingerprint recognition  - 删除
export const yf_FPM_delete = {
    init: function () {
        this.setColour(yfrobotColor_fpm);
        this.appendDummyInput("")
            .appendField(new Blockly.FieldImage(require("../media/yf_fpm.svg"), 24, 24))
            .appendField(Blockly.Msg.MIXLY_YF_FPM_DELETE)
        this.appendValueInput("ID", Number)
            .appendField('ID')
            .setCheck(Number)
        this.appendDummyInput()
            .appendField(Blockly.Msg.MIXLY_YF_FPM_DELETE2)
        this.setOutput(true, Number);
        // this.setPreviousStatement(true);
        // this.setNextStatement(true);
        this.setInputsInline(true);
        this.setTooltip("指纹模块删除ID，ID序号0-49。");
    }
};

// 指纹识别模块fingerprint recognition  - 清空
export const yf_FPM_clear = {
    init: function () {
        this.setColour(yfrobotColor_fpm);
        this.appendDummyInput("")
            .appendField(new Blockly.FieldImage(require("../media/yf_fpm.svg"), 24, 24))
            .appendField(Blockly.Msg.MIXLY_YF_FPM_CLEAR)
        this.setOutput(true, Number);
        // this.setPreviousStatement(true);
        // this.setNextStatement(true);
        this.setInputsInline(true);
        this.setTooltip("指纹模块清空指纹");
    }
};

// 指纹识别模块fingerprint recognition  - 查询
export const yf_FPM_inquiry = {
    init: function () {
        this.setColour(yfrobotColor_fpm);
        this.appendDummyInput("")
            .appendField(new Blockly.FieldImage(require("../media/yf_fpm.svg"), 24, 24))
            .appendField(Blockly.Msg.MIXLY_YF_FPM_INQUIRY)
        this.setOutput(true, Number);
        // this.setPreviousStatement(true);
        // this.setNextStatement(true);
        this.setInputsInline(true);
        this.setTooltip("指纹模块查询注册指纹数量");
    }
};


/********************************************
编码器测速
*********************************************/

var YF_ENCODER_COUNT_MODE = [["清零", "0"], ["累加", "1"]];
export const yf_encoder_motor = {
    init: function () {
        this.setColour(yfrobotColor_encoder);
        this.appendDummyInput("")
            .appendField(new Blockly.FieldImage(require("../media/yf_encoder.svg"), 24, 24))
            .appendField("测速电机A相")
        this.appendValueInput("ENCODER_A_PIN", Number);
        this.appendValueInput("ENCODER_B_PIN", Number)
            .appendField("B相");
        this.appendDummyInput("")
            .appendField("值,");
        this.appendValueInput("ENCODER_SAMPLING_TIME", Number)
            .appendField("采样时间");
        this.appendDummyInput("")
            .appendField("ms, 计数")
            .appendField(new Blockly.FieldDropdown(YF_ENCODER_COUNT_MODE), "COUNT_MODE")
        this.setOutput(true, Boolean);
        this.setInputsInline(true);
        this.setTooltip("编码器电机测速中断引脚测速");
    }
};

export const yf_clear_encoder_count = {
    init: function () {
        this.setColour(yfrobotColor_encoder);
        this.appendDummyInput("")
            .appendField(new Blockly.FieldImage(require("../media/yf_encoder.svg"), 24, 24))
            .appendField("测速电机")
        this.appendValueInput("ENCODER_A_PIN", Number);
        this.appendDummyInput("")
            .appendField("计数值清零");
        this.setOutput(false, Number);
        this.setPreviousStatement(true);
        this.setNextStatement(true);
        this.setInputsInline(true);
        this.setTooltip("编码器电机测速计数值清零");
    }
};



/********************************************
4WD 麦轮小车
*********************************************/




/********************************************
more - 更多
*********************************************/